Как установить расширения PHP на nginx?

Недавно я обнаружил NginX и решил попробовать его на своем сервере. У меня запущен NginX, и я могу обслуживать файлы PHP и HTML. Но теперь я хочу попробовать установить друпал. При попытке установить его и проверить требования меня останавливает одно требование.

Расширения PHP отключены

Drupal требует, чтобы вы включили расширения PHP из следующего списка (дополнительную информацию см. на странице системных требований):

gd

Я попытался установить gd, выполнив apt-get install php5-gd, и он говорит, что он уже установлен. Поэтому я создал файл phpinfo() и проверил, включен ли gd, но не смог его найти. Это связано с NginX или PHP? Что мне делать, чтобы исправить это?


person samwell    schedule 13.01.2012    source источник


Ответы (6)


Поскольку вы используете Nginx, это должно означать, что вы используете PHP с PHP-FPM.

После установки необходимо:

sudo /etc/init.d/php-fpm restart 

or

service php5-fpm restart

в новых версиях убунту

так что PHP подхватит новые расширения.

person Xeoncross    schedule 13.01.2012
comment
У меня тоже работает, но с небольшой модификацией: sudo /etc/init.d/php5-fpm restart. - person Lekhnath; 22.01.2014
comment
sudo service php5-fpm restart тоже работает на меня. - person Lekhnath; 20.04.2014
comment
С Fedora27 у меня работал PHP7 - service php-fpm restart. - person Yogesh Mahajan; 31.12.2017

Если настройка вашего веб-сервера в порядке, установите только расширение 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

person augusto    schedule 26.11.2012

Для будущего меня, если я забуду это.

Если вы возились с /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
person Dominic Woodman    schedule 08.12.2013

Расширения PHP имеют отношение только к PHP. Ваш выбор веб-сервера (apache, nginx и т. д.) не влияет на них. Скорее всего вам просто нужно включить расширение gd. Если вы используете Ubuntu, проверьте папку /etc/php5/conf.d и добавьте gd.ini со следующей строкой:

extension=gd.so
person Jacob Fike    schedule 13.01.2012
comment
это спасло мой день. Я работаю над настройкой Arch Linux LEMP, и даже после установки pacman -S php-gd он не работал. - person Sahil Shaikh; 24.02.2017

если вы используете Centos 7 и не можете найти /etc/init.d/php-fpm, вы можете попробовать systemctl restart php-fpm, это сработало для меня.

person Lee Void    schedule 19.07.2015

Я столкнулся с той же проблемой, заставив sudo apt-get install php5-gd работать. Вывод консоли предложил сделать sudo apt-get update. Просто базовое обновление всех ваших пакетов.

После обновления я запускаю sudo apt-get instal php5-gd, и он делает за меня всю тяжелую работу, включая перезапуск php5-fpm и правильную установку всего промежуточного.

person Alex Pogiba    schedule 11.06.2015