phpinfo и php-v показывают разные версии на lion

Я пытаюсь обновить php с 5.3.13 до 5.4.5 Я вручную загружаю исходные коды php 5.4.5 и ./ configure затем sudo make установить его.

после этого, я бегу

php -v

он показывает 5.4.5, в то время как я запускаю

<?php phpinfo(); ?>

он показывает 5.3.13. в чем здесь проблема и как ее исправить. спасибо

4 ответов


это немного ответ на догадку, так как у меня нет mac, но на основе моего опыта Winodws это может произойти только в том случае, если у вас есть 2 исполняемых файла php, и ваш CLI использует один, а Apache использует другой.

в своем phpinfo() выход искать строку таблицы Loaded Configuration File.

Я на Windows, поэтому мой говорит C:\server\php.4.3\php.ini но, конечно, Ваш будет отличаться.

если это не тот путь, который вы ожидаете, что он будет использовать, то вам нужно будет убедиться, что вы измените путь в вашем Apache .

как только вы нашли httpd.conf файл найти строку:PHPIniDir

когда вы нашли эту строку, убедитесь, что он указывает на правильный каталог для PHP.ini и перезапустить Apache.

Я бы также сказал, чтобы проверить LoadModule php5_module line также указывает на правильный файл, но есть вероятность, что это будет нормально, если вы использовали php 5.3 раньше.

этот ответ предполагает, что вы установили новая версия php в другом каталоге, но это все, что я могу придумать с информацией, которую вы предоставили.


Я думаю, что я просто пришел из той же проблемы. Я использую OSX lion и устанавливал PHP без brew или port, просто используя PHP, который пришел с машиной.

мне нужно было установить модуль mcrypt на текущий php, который я использую (в тот момент я не понял, что на моей машине есть 2 версии PHP, и забыл, как я его устанавливаю), поэтому я устанавливаю homebrew и после этого устанавливаю mcrypt с помощью brew. После установки я открываю браузер и через phpinfo () я обнаружено, что версия PHP отличается от той, которую я устанавливаю модуль mcrypt, и поэтому не может заставить модуль работать.

это то, что он показал в терминала :

Windo-MBP:~ herwindoartono$ php --version
PHP 5.3.23 (cli) (built: May  4 2013 06:43:49)

и из браузера (локальный apache), открыв страницу php contain phpinfo(); показ PHP 5.3.15 версия.. Я не знаю, как я закончил с другой версией на моей машине, поэтому я просматриваю и просматриваю решения и нашел один:

изменение строки в файл httpd.conf должен изменить версию php, которую я использую

вот как изменить версию PHP для использования, основываясь на моем опыте:

  • отредактируйте httpd.conf, набрав в терминале:sudo subl /etc/apache2/httpd.conf Примечание: subl для возвышенного текста 2, иначе вы можете использовать nano.
  • находим строку LoadModule php5_module libexec/apache2/libphp5.so, комментарием
  • добавить ниже строку : LoadModule php5_module /usr/local/opt/php53/libexec/apache2/libphp5.so, для вашего случая просто измените php53 to php54.
  • перезапустить apache с помощью терминал : sudo apachectl restart
  • тест phpinfo () в браузере, и он выходит с версией, которую я намеревался использовать.

ссылка:https://github.com/josegonzalez/homebrew-php/issues/448

у меня нет большого опыта в PHP, но я надеюсь, что это может решить вашу(или всех остальных) проблему.


или еще лучше деинсталлировать старую версию php.


я столкнулся с той же проблемой в Ubuntu 14.04, и я сделал следующее:

  1. из корневого каталога я искал php.ini

    find / -name php.ini

у меня есть два разных файла, что означает, что у меня установлены две разные версии php, поэтому

  1. Я удалил все версии php

    sudo apt-get -y purge php*

  2. затем reintalled нужные версии PHP (в данном случае 5.6)

    sudo apt-get install php5.6