Quote:
Originally Posted by meczo
Hi
I'm trying to install php 5.3.0 with apache 1.3.41 (old version because it's for ssl mod) on slax 6.1.1
Here is my problem:
Code:
root@slax:/usr/local/apache/bin# ./apachectl start
Syntax error on line 205 of /usr/local/apache/conf/httpd.conf:
Cannot load /usr/local/apache/libexec/libphp5.so into server: /usr/local/apache/libexec/libphp5.so: undefined symbol: zend_parse_parameters
./apachectl start: httpd could not be started
|
Hmm this seems to indicate that the Apache binary you have is missing a symbol that PHP expects (the error message is quite self-evident).
This can mean one of four things
1. Either the Apache version, or the PHP version is simply too old / too new to be compatible with the other.
2. Apache might be missing PHP support. (I. e. "libphp5.so: undefined symbol: zend_parse_parameters" I think means libphp5.so refers to an external symbol that is not defined in Apache's scope). Not sure how this can happen, at least for Apache 2.0.54 I don't know of any special compilation parameters you need to pass to it to make it "PHP capable".
3. Your GCC / AR binary might not be producing valid library / object files. I've heard of this happen only with very -NEW- GCCs trying to compile very old code - which you might have here? This espcially applies to C++ code - not sure if PHP contains any.
4. The ABI (binary compatibility) of your GCC (which produced your php.so) is incompatible with the ABI of the compiler that compiled your Apache. This might only be applicable if you got your apache binary from an .rpm of .deb - i. e. the guy who compiled the package might have used a very old or very new GCC, and its object files / executables it produces are incompatible with object files / executables your local GCC produces.
Quote:
My php installation process was:
Code:
./configure --with-apxs=../apache/bin/apxs --without-mysql
make...
|
Did you compile Apache yourself?
I compile apache and PHP myself using these configure lines:
Apache:
Code:
./configure --enable-so --enable-mods-shared=/usr/local/apache2/modules/libphp5.so
PHP:
Code:
./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql --with-apache2 --with-config-file-path=/usr/local/lib --with-gd --with-zlib --with-zlib-dir=/home/monitor/cvs-1.11.5/zlib/ --with-jpeg-dir=/home/stefan/jpeglib --with-png-dir=/home/stefan/pnglib --with-tiff-dir=/home/stefan/tiff --with-freetype-dir=/home/stefan/freetype-2.1.10 --with-libxml-dir=/home/stefan/libxml2-2.6.19 --with-java=/usr/java/j2sdk1.4.2_05/ --with-pear=/usr/local/lib/php --with-dom --enable-sockets --enable-ftp --enable-gd-native-ttf --enable-dbx --enable-shmop --enable-filepro --enable-bcmath --enable-calendar --enable-dio --enable-exif --with-fam --enable-mbstring --enable-soap --enable-wddf --enable-yp --enable-zend-multibyte --enable-force-cgi-redirect --enable-safe-mode --enable-versioning --enable-url-includes --enable-trans-sid --with-ldap --enable-discard-path --with-mcal --with-mod-dav --with-kerberos --enable-gd-imgstrttf --with-gdbm --with-gettext --enable-fastcgi --with-openssl --with-zip --enable-memory-limit
I'm using Apache 2.0.54 though, with PHP 5.0.4. and MySQL 4.1.12 Standard. My GCC is
Code:
[rylan@development fwf_sme_pension]$ gcc -v
Using built-in specs.
Target: i386-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-libgcj-multifile --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --enable-plugin --with-java-home=/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre --with-cpu=generic --host=i386-redhat-linux
Thread model: posix
gcc version 4.1.1 20061011 (Red Hat 4.1.1-30)
[rylan@development fwf_sme_pension]$
on a 2.6.18.1 kernel on Fedora Core 6. I've compiled successfully in exactly the same way on my home system which is running Fedora Core 11.
What GCC version are you trying to use to compile PHP?
Quote:
My httpd.conf file HAS these lines:
Code:
LoadModule php5_module libexec/libphp5.so
AddType application/x-httpd-php .php .php5
AddHandler php5-script .php
|
The above looks more or less correct, though an error here won't cause the type of error message you are receiving above, I think.
Please help[/QUOTE]
The first thing you might try is to make sure you are compiling Apache and PHP with the same compiler.
If you got Apache from a package, rather try compiling it yourself, or if you prefer to use packages, get both Apache and PHP as packages, not one as a package and one as self-compiled source.
You must realize that very old versions of PHP / Apache and very new versions of Apache / PHP may be incompatible.