PHP 7 на OSX 10.6 - 10.11

 

Обновление до PHP 7 или 7.1 на macOS Sierra или на OSX 10.6 - 10.11

MacOS Sierra поставляется с PHP 5.6, OSX 10.11 El Capitan с PHP 5.5.x и OSX 10.8 Mountain Lion поставляется с PHP версии 5.3, есть простой способ обновления до новой стабильной версии 5.6 или более старой стабильной версии PHP или даже последней PHP версия 7.

Последняя версия PHP и инструкции по установке руководстве находятся на этом сайте PHP Packaged, который поддерживает OSX и известен как надежный.

Загрузка и установка PHP 7.0

Откройте терминал и запустите:

curl -s http://php-osx.liip.ch/install.sh | bash -s 7.0

или для 7.1

curl -s http://php-osx.liip.ch/install.sh | bash -s 7.1

Вы получаете сообщение об ошибке, в случае если установленный у вас php является более новой версией
Поскольку PHP 7 - 7.1 это довольно новая версия, могут быть проблемы. Ваш путь может быть извилист и тернист))).
PHP установится в /usr/local/php5

Проверьте версию php, создав файл php с именем phpinfo.php в вашем корневом каталоге сайта с одной строкой:

<?php phpinfo();?>

Перейдите к этому файлу и посмотрите свою версию PHP.

php7 osx

Или набрав в терминале

php -v

Если вместо этого вы просто хотите обновить до последнего 5.6 PHP ... Откройте терминал и выполните команду -

curl -s http://php-osx.liip.ch/install.sh | bash -s 5.6

И все! Одна команда в терминале, но это позволит загрузить и установить PHP 5.6 в:

/usr/local/php5/

Serv PHP7 6

Теперь о конфигурации Apache. 

Это если Server.app у нас отсутствует:

Для любой версии PHP, установленной вами, 7 или 5.6, сценарий установки также отключит предыдущий PHP 5, если он был включен в конфигурационном файле Apache.

/etc/apache2/httpd.conf .

 

Новая версия включена в Apache с самого начала, новая установка закомментирует предыдущий модуль PHP.

#LoadModule php5_module libexec/apache2/libphp5.so

Он загрузит новую версию PHP из файла /etc/apache2/other/+php- osx.conf.

Поэтому, чтобы отменить установку, раскомментируйте старый PHP-модуль в httpd.conf и удалите новую конфигурацию.

http://php-osx.liip.ch/#faq

Чтобы отобразить новую версию PHP в терминале можно снова набрать:

 php -v

И вам нужно обновить .bash_profile добавив строку:

export PATH=/usr/local/php5/bin:$PATH;

Serv PHP7 2Serv PHP7 2

Обновление PHP в Server.app

А теперь о обновлении сервера
После каждого обновления Server.app следует проверить и, возможно, изменить настройки веб-сервера, чтобы убедиться, что веб-служба использует нужную версию Liip PHP.

Конфигурационный файл у нас другой:

/Library/Server/Web/Config/apache2/httpd_server_app.conf

Serv PHP7 7Serv PHP7 7

То есть возможен вариант когда вы обновили версию PHP но Server.app находит и включает предыдущую

Вот строка, которая в httpd_server_app.conf загружает версию PHP, предоставляемую Apple:

LoadModule php5_module libexec/apache2/libphp5.so

Если вы просто хотите Закомментировать эту строку, и вы обновляетесь до PHP 5.6, сделайте это так:

#LoadModule <тут-ваш-коммент> php5_module libexec/apache2/libphp5.so

 Serv PHP7 8

В противном случае Server.app может попытаться повторно включить эту строку, когда вы установите флажок «enable PHP» на панели Web-сервера.

Затем либо замените его следующей строкой, либо просто добавьте строку:

LoadModule php5_module /usr/local/php5/libphp5.so

И в PHP 5.6 это работает.

Но в PHP 7 путь другой

Нужно добавить строку

LoadModule php5_module /usr/local/php5/libphp7.so

Кроме того при обновлении PHP в Server.app обычных команд рестарта Apache не достаточно.

Что мы там использовали?

Для старта:

sudo apachectl start

Для остановки:

sudo apachectl stop

И для рестарта:

sudo apachectl restart

А чтобы посмотреть версию Apache:

httpd -v

Тут же нам нужно презапустить сервер. Что можно сделать через серверную утилиту, или в терминале:

sudo serveradmin stop web

И стартовать:

sudo serveradmin start web

Удаление 

Измените в /etc/apache2/httpd.conf

LoadModule php5_module /usr/local/php5/libphp5.so

на

LoadModule php5_module libexec/apache2/libphp5.so

а также удалите файлы +php-osx.conf и +entropy-php.conf в директории /etc/apache2/other

Serv PHP7 4

и удалите /usr/local/php5-*

Переустановка

Для полной переустановки новой версии нужно удалить ее строку в файле /usr/local/packager/registry.log.

sudo $EDITOR /usr/local/packager/registry.log

А если вы забыли версию и все что делали просто удалите этот файл:

sudo rm -rf /usr/local/packager/registry.log

Обо мне

bottom-logo

Я дизайнер. Здесь вы можете увидеть мои работы. Хорошо я делаю свою работу или не очень — судить вам.

Главное правило — вы никогда не увидите незаконченной работы. Только досконально отточенный проект можно выпускать в жизнь.

Калькулятор упаковки