it-swarm.com.ru

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

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

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

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

Б-г

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

14
samwell

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

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

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

или же 

service php5-fpm restart

в более новых версиях Ubuntu

так что PHP заберет новые расширения.

28
Xeoncross

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

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

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

3
augusto

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

extension=Gd.so
2
Jacob Fike

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

0
Lee Void

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

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

0
Keeprock