Я пытаюсь обновить PHP с 5.2 до 5.3 на CentOS, но phpinfo () все еще утверждает, что PHP 5.2 установлен.
Сборка PHP путем компиляции Apache 1.3, а затем сборки PHP с использованием apxs:
# cd ../php-5.3.29
# ./configure --with-apxs=/usr/local/apache-php/bin/apxs --with-mysql=/usr/include/mysql --with-gd --with-jpeg-dir --with-png-dir --enable-mbstring --with-mysqli --with-pdo-mysql --with-mysql-sock=/var/lib/mysql/mysql.sock --with-curl=/usr
# make
# make test
# make install
Казалось, это работает. Я перезапустил весь сервер, а затем запустил Apache следующим образом:
/usr/local/apache-php/bin/httpd -f /path/to/httpd.conf -D PERLDB -DSSL
Apache работает, и состояние сервера модуля Apache возвращает дату сборки Apache от 16 сентября 2014 года, и это правильно. Тем не менее, phpinfo () отображает это:
PHP Version 5.2.6
Build Date Mar 6 2014
Configure Command './configure' '--with-apxs=/usr/local/apache-centosssl-php/bin/apxs' '--with-mysql=/usr/include/mysql' '--with-gd' '--with-jpeg-dir' '--with-png-dir' '--enable-mbstring' '--with-mysqli' '--with-pdo-mysql' '--with-mysql-sock=/var/lib/mysql/mysql.sock' '--with-curl=/usr'
/ usr / local / apache-centosssl-php / — это путь к предыдущей сборке Apache, скомпилированной в марте 2014 года для PHP 5.2. Кажется, что Apache запускается и использует старые файлы из моей предыдущей компиляции PHP?
В командной строке я получаю:
# php -v
PHP 5.3.29 (cli) (built: Sep 16 2014 16:53:53)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2014 Zend Technologies
Я искал php.ini и httpd.conf для поиска «apache-centosssl-php», и в нем нет ни одного случая.
Я забыл, что я использовал символическую ссылку в Apache для ссылки на модуль PHP:
libexec -> /usr/local/apache-centosssl-php/libexec
Я изменил это
libexec -> /usr/local/apache-php/libexec
Кажется, сейчас работает.
Других решений пока нет …