Как установить расширения PHP на nginx?
Недавно я обнаружил NginX и решил попробовать его на моем сервере. У меня есть NginX, который работает и способен обслуживать файлы PHP и HTML. Но теперь я хочу попробовать установить drupal. При попытке установить его и проверить требования, меня останавливает одно требование.
Расширения PHP отключены
Drupal требует, чтобы вы включили расширения PHP в следующем списке (более подробную информацию см. на странице системных требований):
Г.Д.
Я попытался установить gd, выполнив apt-get install php5-gd
, и он говорит, что он уже установлен. Поэтому я создал файл phpinfo()
и проверил, включен ли gd, и я не смог его найти. Это связано с NginX или PHP? Что мне делать, чтобы исправить это?
Ответы
Ответ 1
Поскольку вы используете Nginx - это означает, что вы используете PHP с PHP-FPM.
После установки материала вам необходимо:
sudo /etc/init.d/php-fpm restart
или
service php5-fpm restart
в новых версиях ubuntu
чтобы PHP забирал новые расширения.
Ответ 2
В будущем, если я забуду это.
Если вы столкнулись с /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
Ответ 3
Если настройка веб-сервера в порядке, установите только расширение 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
Здесь отличный учебник LEMP http://library.linode.com/web-servers/nginx/php-fastcgi/ubuntu-10.04-lucid
Ответ 4
Расширения PHP имеют отношение только к PHP. Ваш выбор веб-сервера (apache, nginx и т.д.) Не влияет на них. Скорее всего, вам просто нужно включить расширение gd. Если вы находитесь на Ubuntu, проверьте папку /etc/php 5/conf.d и добавьте gd.ini со следующей строкой:
extension=gd.so
Ответ 5
Я столкнулся с той же проблемой, что и при работе sudo apt-get install php5-gd
. Консольный выход предложил сделать sudo apt-get update
. Просто базовое обновление на всех ваших пакетах.
После обновления я запустил sudo apt-get instal php5-gd
, и он сделал все тяжелый подъем для меня, включая перезапуск php5-fpm и правильную установку всего между ними.
Ответ 6
Если вы используете centos 7, и вы не можете найти /etc/init.d/php-fpm, вы можете попробовать systemctl restart php-fpm
, который сработал у меня.