On Nov 24, 2007, at 07:01:56, ApplePro wrote:
Hello guys, I've had two (or three) versions installed on my Fedora linux server. It seems I've had something installed when I just rented server, after that I've tried to upgrade by building PHP from source. PHP, installed with yum (before upgrading) had 5.1.6 version. When I ran phpinfo(), browser displayed this version. But when I ran "php -v" in command line, it displayed 5.2.5 version. I've got this error when server booted up: Quote: [20-Nov-2007 03:27:30] PHP Warning: PHP Startup: json: Unable to initialize module Module compiled with module API=20060613, debug=0, thread-safety=0 PHP compiled with module API=20050922, debug=0, thread-safety=0 These options need to match in Unknown on line 0 So, I've removed old version(s): Quote: rpm -qa | grep php rpm -e *package* yum remove php Then I've downloaded latest version of PHP 5.2.5 and installed it. I've copied configuration list that yum uses for older version: Quote:./configure --build=x86_64-unknown-linux-gnu --host=x86_64-unknown- linux-gnu--target=x86_64-redhat-linux-gnu --program-prefix= --prefix=/usr--exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin -- sysconfdir=/etc--datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64--libexecdir=/usr/libexec --localstatedir=/var --sharedstatedir=/ usr/com --mandir=/usr/share/man --infodir=/usr/share/info --cache-file=../ config.cache--with-libdir=lib64 --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --disable-debug --with-pic--disable-rpath --without-pear --with-bz2 --with-curl --with-exec- dir=/usr/bin--with-freetype-dir=/usr --with-png-dir=/usr --enable-gd-native-ttf--without-gdbm --with-gettext --with-gmp --with-iconv --with-jpeg- dir=/usr--with-openssl --with-png --with-pspell --with-expat-dir=/usr--with-pcre-regex=/usr --with-zlib --with-layout=GNU --enable-exif --enable-ftp --enable-magic-quotes --enable-sockets --enable-sysvsem --enable- sysvshm--enable-sysvmsg --enable-track-vars --enable-trans-sid --enable-yp--enable-wddx --with-kerberos --enable-ucd-snmp-hack --with- unixODBC=shared,/usr --enable-memory-limit --enable-shmop --enable-calendar --enable-dbx --enable-dio--with-mime-magic=/usr/share/file/magic.mime --without-sqlite--with-libxml-dir=/usr --with-xml --with-apxs2=/usr/sbin/apxs -- without-mysql --without-gd --without-odbc --disable-dom --disable-dba --without- unixODBC --disable-pdo --disable-xmlreader --disable-xmlreader --disable- xmlwritermake clean make make install After that PHP doesn't work with Apache2. Whe I try to load any .php page, I get PHP source code as simple text instead of result of executed PHP code. When I install PHP with yum again, it works. I wonder how can I install latest PHP from source? How to fix the problem with Apache2?
By your pseudo-name you give the impression that you know something about Mac OS X which also implies you know a little more than the basics but ask a question that is extremely basic and expected from someone who is wet behind the ears.
You have two issues, the php apache module you're loading is from the older 5.1.6 branch and your php.ini is trying to load php modules from the 5.2.5 build.
OLD PHP EXTENSION DIRECTORY: /usr/lib/php/extensions/no-debug-non-zts-20050922 NEW PHP EXTENSION DIRECTORY /usr/lib/php/extensions/no-debug-non-zts-20060613This leave you with 2 options, load the newer apache php module or change your php.ini to point to the OLD PHP EXTENSION DIRECTORY.
You should be able to locate the new module you built by looking in the php source directory that you built in, then look in your apache module directory for a file of the same name and date.
One issue that occurs a lot in linux is that the module defined in the httpd.conf file isn't stored in the apache module directory so look and see where it's loading this module from and either copy the new one or point the path to the new module.
-- Dale
PGP.sig
Description: This is a digitally signed message part