Как установить расширения PHP на nginx?
Недавно я открыл для себя NginX и решил опробовать его на своем сервере. У меня работает NginX, и я могу обслуживать файлы PHP и HTML. Но теперь я хочу попробовать установить drupal. При попытке установить его и проверить требования, меня останавливает одно требование.
Расширения PHP отключены
Drupal требует, чтобы вы включили расширения PHP в следующем списке (дополнительную информацию см. на странице системных требований):
Гд
Я пытались установить gd, выполнив apt-get install php5-gd
, и он говорит, что он уже установлен. Поэтому я создал файл phpinfo()
и проверил, включен ли gd, но я не смог его найти. Имеет ли это отношение к NginX или PHP? Что мне сделать, чтобы исправить это?
6 answers
Поскольку вы используете Nginx - это должно означать, что вы используете PHP с PHP-FPM.
После установки вам необходимо:
sudo /etc/init.d/php-fpm restart
Или
service php5-fpm restart
В более новых версиях ubuntu
Так что PHP получит новые расширения.
Для будущего меня, если я забуду это.
Если вы возились с /etc/php/fpm
, возможно, вы случайно потеряли символическую ссылку на conf.d
, что означает, что файлы загрузки gd и PDO не будут загружены с помощью FPM.
Это будет проблемой, если вы просто используете базовую конфигурацию, которая поставляется с PHP5-FPM. Если у вас есть собственная конфигурация, вы можете включить файлы в другое место.
Решение: Воссоздайте символьную ссылку.
cd /etc/php5/fpm
sudo ln -s /etc/php5/conf.d /etc/php5/fpm/conf.d
Если ваш веб-сервер настроен правильно, установите только расширение php gd и перезапустите интерпретатор сценариев php и веб-сервер.
sudo apt-get install php5-gd
sudo /etc/init.d/php-fastcgi stop
sudo /etc/init.d/php-fastcgi start
sudo /etc/init.d/nginx stop
sudo /etc/init.d/nginx start
Вот отличный учебник по ЛЕМПУ http://library.linode.com/web-servers/nginx/php-fastcgi/ubuntu-10.04-lucid
Расширения PHP имеют отношение только к PHP. Ваш выбор веб-сервера (apache, nginx и т.д.) Не влияет на них. Скорее всего, вам просто нужно включить расширение gd. Если вы используете Ubuntu, проверьте папку /etc/php5/conf.d и добавьте файл gd.ini со следующей строкой:
extension=gd.so
Я столкнулся с той же проблемой, когда заставил sudo apt-get install php5-gd
работать. Вывод на консоль предлагается выполнить sudo apt-get update
. Просто базовое обновление всех ваших пакетов.
После обновления я запускаю sudo apt-get instal php5-gd
, и он сделал для меня всю тяжелую работу, включая перезапуск php5-fpm и правильную установку всего, что между ними.
Если вы используете centos 7 и не можете найти /etc/init.d/php-fpm, вы можете попробовать systemctl restart php-fpm
, это сработало для меня.