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
tophp54
. - перезапустить apache с помощью терминал :
sudo apachectl restart
- тест phpinfo () в браузере, и он выходит с версией, которую я намеревался использовать.
ссылка:https://github.com/josegonzalez/homebrew-php/issues/448
у меня нет большого опыта в PHP, но я надеюсь, что это может решить вашу(или всех остальных) проблему.
я столкнулся с той же проблемой в Ubuntu 14.04, и я сделал следующее:
-
из корневого каталога я искал php.ini
find / -name php.ini
у меня есть два разных файла, что означает, что у меня установлены две разные версии php, поэтому
-
Я удалил все версии php
sudo apt-get -y purge php*
-
затем reintalled нужные версии PHP (в данном случае 5.6)
sudo apt-get install php5.6