I'm currently working on a benchmarking project to compare different web server configurations and PHP integrations. After having tested several Apache2+mod_php configurations, I wanted to do the same with Apache2+fastcgi+php(+fpm) but already at the compilation of PHP it failed. What happened?
According to the PHP configuration documentation, both cli and cgi versions of the php binary should be created at the end of make:
./configure --help | egrep '(cgi|cli)'
--disable-cli Disable building CLI version of PHP
--disable-cgi Disable building CGI version of PHP
This means I don't need to explicitly configure with something like '--enable-fastcgi' which
1) is mentioned on a lot of websites and
2) doesn't exist anymore (!).
So go figure, cli (php) and cgi (php-cgi) binaries should be created.
Note the word 'should'... because nothing happened.
My goal was to configure PHP with both the cgi and the new fpm binary (called php-fpm) with the following configure syntax:
./configure --prefix=/usr \
--with-libdir=lib64 \
--with-apxs2=/usr/bin/apxs2 \
...
--enable-fpm
But I got the following error message:
configure: error:
+--------------------------------------------------------------------+
| *** ATTENTION *** |
| |
| You've configured multiple SAPIs to be build. You can build only |
| one SAPI module and CLI binary at the same time. |
+--------------------------------------------------------------------+
After reading the bug report PHP #52419, it seems that '--enable-fpm' doesn't work together with '--with-apxs2' so the latter one needs to be removed from the configure command.
Once I did that, configure and make ran without problems. But then the next downer: After a quick check in sapi/cgi, I couldn't find the php-cgi binary - actually it wasn't created at all while the php cli binary (in sapi/cli) was created just fine.
After a lot of testing yesterday night and tonight I finally found out why: The php-cgi binary is not created if PHP is compiled with '--enable-fpm'. As stupid as it sounds but if you want to use PHP as FastCGI module and with the FPM daemon you must compile PHP several times until you get all the binaries you need.
Conclusion:
- php-cgi binary is not created when PHP is compiled with '--enable-fpm'
- '--enable-fpm' doesn't work when PHP is compiled with '--with-apxs2' (configure error)
No comments yet.
AWS Android Ansible Apache Apple Atlassian BSD Backup Bash Bluecoat CMS Chef Cloud Coding Consul Containers CouchDB DB DNS Database Databases Docker ELK Elasticsearch Filebeat FreeBSD Galera Git GlusterFS Grafana Graphics HAProxy HTML Hacks Hardware Icinga Influx Internet Java KVM Kibana Kodi Kubernetes LVM LXC Linux Logstash Mac Macintosh Mail MariaDB Minio MongoDB Monitoring Multimedia MySQL NFS Nagios Network Nginx OSSEC OTRS Office PGSQL PHP Perl Personal PostgreSQL Postgres PowerDNS Proxmox Proxy Python Rancher Rant Redis Roundcube SSL Samba Seafile Security Shell SmartOS Solaris Surveillance Systemd TLS Tomcat Ubuntu Unix VMWare VMware Varnish Virtualization Windows Wireless Wordpress Wyse ZFS Zoneminder