Apache2 and PHP5 won't work together
Make sure, you have PHP included in the apache configuration file and that you have the correct handler set to it.
LoadModule php5_module /usr/lib/apache2/modules/libphp5.so
<IfModule mod_php5.c>
<FilesMatch "\.ph(p3?|tml)$">
SetHandler application/x-httpd-php
</FilesMatch>
</IfModule>
Anyway: Are you sure, that you need Apache and PHP compiled from source? There are precompiled packages available for most Linux distributions and it's much easier to configure them.
Related videos on Youtube
n0pe
Updated on September 18, 2022Comments
-
n0pe over 1 year
I installed the latest apache web server on my system using all default configs (simply ./configure, make, make install). Then I was trying to tie PHP5 into it but I can never get it working.
First thing I did was try and get it to work with these settings:
./configure --with-apxs2=/usr/local/apache2/bin/apxs prefix=/usr/local/apache2/php --with-config-file-path=/usr/local/apache2/php --enable-force-cgi-redirect --disable-cgi --enable-shared
That was giving me this error when I was trying to 'make install':
Warning! dlname not found in /usr/local/apache2/modules/libphp5.la. Assuming installing a .so rather than a libtool archive. chmod 755 /usr/local/apache2/modules/libphp5.so chmod: cannot access `/usr/local/apache2/modules/libphp5.so': No such file or directory apxs:Error: Command failed with rc=65536
So I tired configuring with no options (other than apxs2) and was able to make and make install. This is the output of that make install:
Installing PHP SAPI module: apache2handler /usr/local/apache2/build/instdso.sh SH_LIBTOOL='/usr/lib64/apr-1/build/libtool' libphp5.la /usr/local/apache2/modules /usr/lib64/apr-1/build/libtool --mode=install cp libphp5.la /usr/local/apache2/modules/ l ibtool: install: cp .libs/libphp5.so /usr/local/apache2/modules/libphp5.so libtool: install: cp .libs/libphp5.lai /usr/local/apache2/modules/libphp5.la libtool: install: warning: remember to run `libtool --finish /home/max/Desktop/localhost/php-5.3.6/libs' chmod 755 /usr/local/apache2/modules/libphp5.so [activating module `php5' in /usr/local/apache2/conf/httpd.conf] Installing PHP CLI binary: /usr/local/bin/ Installing PHP CLI man page: /usr/local/man/man1/ Installing build environment: /usr/local/lib/php/build/ Installing header files: /usr/local/include/php/ Installing helper programs: /usr/local/bin/ program: phpize program: php-config Installing man pages: /usr/local/man/man1/ page: phpize.1 page: php-config.1 Installing PEAR environment: /usr/local/lib/php/ [PEAR] Archive_Tar - already installed: 1.3.7 [PEAR] Console_Getopt - already installed: 1.3.0 [PEAR] Structures_Graph- already installed: 1.0.4 [PEAR] XML_Util - already installed: 1.2.1 [PEAR] PEAR - already installed: 1.9.2 Wrote PEAR system config file at: /usr/local/etc/pear.conf You may want to add: /usr/local/lib/php to your php.ini include_path /home/max/Desktop/localhost/php-5.3.6/build/shtool install -c ext/phar/phar.phar /usr/local/bin ln -s -f /usr/local/bin/phar.phar /usr/local/bin/phar Installing PDO headers: /usr/local/include/php/ext/pdo/
I restarted the apache service and went to localhost to view a php file, and it didn't work (apache just indexes the .php files in the htdocs folder and lets me download them).
Any ideas?
-
n0pe almost 13 yearsI added that to my httpd.conf and I got this error when restarting the service: httpd: Syntax error on line 53 of /usr/local/apache2/conf/httpd.conf: Cannot load /usr/lib/apache2/modules/libphp5.so into server: /usr/lib/apache2/modules/libphp5.so: cannot open shared object file: No such file or directory
-
n0pe almost 13 yearsAnd OpenSuse does have packages from them but I wasn't sure on the defaults and they didn't show up in /usr/local
-
Seth Robertson almost 13 yearsMaxMackie: If you search (find/local) your system, do you find a libphp5.so anywhere? Perhaps you need to rebuild PHP and tell it where to install the apache module, or copy the module from some other directory. The default OpenSuSE install directory is probably in /usr, not /usr/local
-
Viktor Stískala almost 13 yearsMy config was just an example. According to your output the correct path could be /usr/local/apache2/modules/libphp5.so
-
n0pe almost 13 yearsYeah I found those 2 fixes and they still didn't end up working.