Hi, I want to set up my own web server, so I first of all compiled Apache 2.0.58 (I've read that Apache 2.2.2 doesn't work with PHP 5).
I managed to compile it and get it to display some webpages. But of course no webserver is complete without PHP, so I proceeded to compiling PHP 5. I did everything exactly the way the instructions say at PHP.net, but when I try to run, I get the following error:
Cannot load /usr/lib/apache2/libphp5.so into server: /usr/lib/apache2/libphp5.so: undefined symbol: _zend_list_delete
After much googling 😃, I found several solutions (and someone spamming the boards, aka AlpineKid):
> Hi,
I'm trying to compile php5 for apache2.
When I try to load the php module I get an undefined symbol:
_zend_list_delete error in libphp5.so.
When I use objdump and look inside libphp5.so I see all the zend*
functions are undefined.
What did I forget to do?
The problem is with mysql... doesn't seem obvious but this has happened
to a number of users...
Here is a fix, hopefully your mysql directories are the same
cd /usr/lib/mysql
rename .a .a_old .a
rename .la .la_old .la
Then run configure/make/make install
Then rename these files back.
cd /usr/lib/mysql
rename .a_old .a .a_old
rename .la_old .la .la_old
Mike
hi.
there may be some problem with the path to libc and other libs on your system.
per default php5 s configure script uses /usr/local/lib.
you might want to add some --libdir=/usr/lib to your ./configure
like
./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-pear --with-mcrypt --with-mysql --libdir=/usr/lib
to be sure it uses the new path do some
make clean
make distclean
before recompiling.
if /usr/lib doesent work you may look for your systems default library direcotry 🙂
None of these seemed to work 🙁. I have rebuilt a million times, Googled until I thought I would die, and now am completely confused. 😕
Does anybody have a solution that works?
Thanks in advance!!!