Я установил последнюю версию php на свою систему «горный лев», используя эти инструкции (http://mac.tutsplus.com/tutorials/server/upgrading-the-native-php-installation-on-os-x-mountain-lion/). Я даже сначала поместил /usr /local /bin в моей переменной пути, поэтому, когда я запускаю php -v в командной строке, я получаю php v5.4.x Проблема в том, что когда я запускаю простой скрипт (с phpinfo () функция внутри) страница сообщает мне, что я использую старую версию php 5.3.x, которая предустановлена с помощью Mac OS Mountain Lion. Я даже пытался перезапустить apache, но проблема остается. Есть идеи на этот счет? Спасибо.
1 ответ
Тот урок, которым вы следовали, немного опасен. Кажется, он говорит вам заменить X11 по умолчанию на новый, что является действительно плохой ненужной идеей.
Где вы изменили свою локальную переменную? Если вы использовали .profile или .bash_profile, он действителен только для вашего пользователя. Чтобы повлиять на всех пользователей, вам нужно изменить /etc /paths. Но я не думаю, что это имеет какое-либо отношение к переменной PATH.
Что касается вашего вопроса, это означает, что Apache не загружает правильный модуль PHP. (Libphp5.so)
Проверьте дату создания /usr/libexec/apache2/libphp5.so
Если он предшествовал времени вашей сборки, то он не был заменен.
Сначала отключите Apache (либо в настройках, либо запустив
sudo apachectl stop
в консоли).Затем переименуйте
/usr/libexec/apache2/libphp5.so
->sudo mv /usr/libexec/apache2/libphp5.so /usr/libexec/apache2/libphp5.so.bak
Затем перейдите к исходному каталогу и запустите
make install
. (если вы удалили каталог, make-файл или запустилиmake clean
вам потребуется снова запустить процесс компиляции)Затем проверьте, существует ли
libphp5.so
в/usr/libexec/apache2/
. Если он не существует, то ваши параметры компиляции неверны. Если это так, перейдите к шагу 5.Переименуйте новый
/usr/libexec/apache2/libphp5.so
в libphp5.4.8.so (или версию, которую вы устанавливаете).Резервное копирование httpd.conf ->
sudo cp /usr/libexec/apache2/httpd.conf /usr/libexec/apache2/httpd.conf.bak
Отредактируйте httpd.conf ->
sudo nano /usr/libexec/apache2/httpd.conf
и изменитеLoadModule php5_module libexec/apache2/libphp5.so
наLoadModule php5_module libexec/apache2/libphp5.4.8.so
Поставь старый libphp5.so обратно. ->
sudo mv /usr/libexec/apache2/libphp5.so.bak /usr/libexec/apache2/libphp5.so
Перезапустите apache (в настройках или при
sudo apachectl start
)
Дайте мне знать, если это сработало для вас