Ранее я уже писал о сборке PHP7 из исходников. Предыдущая статья была написана в качестве примера, в ней я использовал набор параметров PHP, который необходим для работы блога WordPress. Изначально я отключил все неиспользуемые модули, поэтому теперь возникла необходимость заставить работать PrestaShop 1.7 на PHP7.
Я предпочитаю сразу отключать все лишнее. Указанные мною параметры — это минимальный набор модулей PHP7, который необходим для установки PrestaShop 1.7. Используйте статью по ссылке выше в качестве исходного материала. За исключением того, что вам необходимо указать следующие параметры сборки:
CONFIGURE_STRING="--prefix=/usr/local/php7-fpm \ --enable-fpm \ --with-fpm-user=www-data \ --with-fpm-group=www-data \ --with-mcrypt \ --enable-intl \ --enable-zip \ --enable-mysqlnd \ --enable-mbstring \ --enable-sockets \ --disable-cgi \ --disable-phar \ --with-config-file-scan-dir=/usr/local/php7-fpm/etc/conf.d \ --with-curl \ --with-gd \ --with-mysql-sock=/var/run/mysqld/mysqld.sock \ --with-mysqli \ --with-pdo-mysql \ --with-openssl \ --with-zlib \ --without-sqlite3 \ --without-pdo-sqlite"
После добавление новых модулей потребовалась установить дополнительные пакеты, необходимые для сборки. В противном случае, после работы команды configure вы можете получить следующие ошибки:
configure: error: Unable to detect ICU prefix or no failed. Please verify ICU install prefix and make sure icu-config works.
configure: error: mcrypt.h not found. Please reinstall libmcrypt.
Проблему легко устранить, выполнив установку следующих пакетов:
apt-get install libicu-dev libmcrypt-dev
Дополнительно на сервере где будет работать PHP7 нужно установить пакет:
apt-get install mcrypt