go to bug id or search bugs for
I am trying to install PHP4 as a DCO for Apache using APXS.
I downloaded php-4.0.4pl1.tar.gz from your site.
I followed the instructions in INSTALL as follows:
./configure --with-mysql=/usr/local/mysql \
make && make install
It all whirred happily away for a while, and reported no errors.
However, on restarting Apache, and running httpd -l I do not find mod_php4.c listed. mod_so.c is listed. I also cannot locate libphp4.so anywhere on my machine.
Am I right in thinking that my Apache does nothing with PHP files as it cannot be configured to do so due to the absence of this (and no doubt others) programme?
Is this a bug, or have I done something silly? Either way, what should I do to get PHP up and running?
Add a Patch
Add a Pull Request
I checked the output of make install - it does not mention libphp.so at all!
Have tracked down the problem myself.
If you type make before make install the installation doesn't work!
I think this could be made more explicit in the INSTALL file.
In the INSTALL file, section 4a is repeated. The first occurrence has somehow had part of 3b added onto it. It reads:
4a. Setting up the server. (Dynamic Module)
The make install command in step 3 should have done most of your
work for you. It actually edits your httpd.conf file and tries to
enable the dynamic PHP module. To verify this, look for a line that
looks like this:
LoadModule php4_module libexec/libphp4.so
The actual path before the libphp4.so part might differ slightly. This
is likely fine. If you are paranoid you can examine the output from the
make install step to see where the libphp4.so file was actually put and
Assuming it compiles without errors, proceed to step 4b.
The correct text for 4a then continues. The incorrect text above suggests typing make, which messes the install up.
You did something silly as there is nothing wrong with the
INSTALL file's instructions..
The correct way to do it (Assuming you have apache with DSO support):
# ./configure --with-apxs=/usr/local/apache/bin/apxs --with-mysql=/path/
# make clean ; make ; make install
# /usr/local/apache/bin/apachectl stop
# /usr/local/apache/bin/apachectl start
( the 'make clean' part isn't needed when compiling from fresh sources which
have just been gunzipped/untarred)
If you still have problems with the installing of PHP then ask further questions
on email@example.com mailing list.
That is funny, as when I did it with make it didn't work, but when I did it without (as the INSTALL file I have DOES say!) IT WORKED!
I just tried installing php 4.3.1 from source on Slackware 8, and i couldn't figure out why the process wasn't producing a libphp4.so file...
Google brought up this page, and indeed, using
./configure; make install
works just fine, while
./configure;make;make install doesn't
In the latter case, the output of make install is missing the lines
[activating module `php4' in /usr/local/etc/httpd/httpd.conf]
cp libs/libphp4.so /usr/local/libexec/libphp4.so
chmod 755 /usr/local/libexec/libphp4.so
cp /usr/local/etc/httpd/httpd.conf /usr/local/etc/httpd/httpd.conf.bak
cp /usr/local/etc/httpd/httpd.conf.new /usr/local/etc/httpd/httpd.conf
after it says
Installing PHP SAPI module
I'm not sure whether the option --with-apxs makes a difference, as i didn't use it.
Yes, of course using --with-apxs makes a difference. Without that option you will never get a libphp4.so, you simply get a php binary. Please read the installation instructions.
I'm having the exact same problem installing php from the 3.4.8 source. I'm running apache2 from the latest stable install with DSO enabled. I've tried it with and without doing "make" first. I've followed the install instructions to the letter and I can't make it output the .so file no matter what I do. I know my apache install is okay because I'm able to load my old PHP .so file and run scripts under php4.3.3. Here is my configure line:
./configure -with-apxs2=/usr/local/apache2/bin/apxs --with-mysql --with-gd --with-curl --with-iconv --with-zlib --with-openssl --enable-shared
I run that, followed by: make clean;make;make install
No new .so files are created on my system anywhwere and I get no compile errors either. It looks like it should be working, but no .so is output. WHY WHY WHY WHY WHY!? I've probably done close to 200 google searches over the past 2 days looking for an answer with no luck.