Я относительно новичок в мире управления / администрирования командной строки unix командной строки.
Многие хосты с параметрами администрирования панели управления позволяют вам изменять, как PHP запускается с простой опцией.
Наиболее распространенными параметрами являются:
модуль apache. Приложение CGI. Приложение FastCGI. Мой вопрос - просто, как вы это измените с помощью командной строки? Я знаю, что для apache существует множество конфигурационных файлов.
Самое близкое, что я нашел, это вопрос, однако структура каталогов, похоже, не соответствует моей ОС (Ubuntu 12.04).
[d10 ] Я совершенно смущен тем, что, похоже, нет четкого руководства, которое я могу найти, что детализирует этот процесс для чего-то, что кажется настолько распространенным. Простите меня, если это существует ... если да, пожалуйста, укажите мне в правильном направлении.Спасибо за предыдущие ответы, они доставили мне большую часть пути, но чтобы получить работу, мне пришлось объединить инструкции из нескольких мест, поэтому я подумал, что напишу полный набор команд.
FYI Я запускаю Ubuntu 14.04, Apache 2.4, а также имел modphp по умолчанию, предыдущие инструкции также не учитывали необходимость отключения modphp.
Я также нашел http: / /blog.starcklin.com/2013/08/install-mod-fastcgi-and-php5-fpm-on-ubuntu/, чтобы быть очень информативным и понятным.
Просто запустите следующие команды в терминале один за другим.
Сначала установите необходимые пакеты (я оставляю php5, так как это предполагает, что он уже установлен, добавьте его обратно для впервые установить). Также обратите внимание, что Apache 2.4 вы можете использовать event-mpm вместо рабочего, см. http://blog.starcklin.com/2013/08/install-mod-fastcgi-and-php5-fpm-on-ubuntu/ . В моем примере показан рабочий, но просто замените слово worker событием, если вы предпочтете его использовать.
sudo apt-get install apache2-mpm-worker
sudo apt-get install libapache2-mod-fastcgi php5-fpm
Теперь включите моды, которые вам нужны, и отключите те, которые у вас нет.
[ f2]Создайте файл php5.fcgi и дайте разрешение веб-серверу использовать его.
sudo touch /usr/lib/cgi-bin/php5.fcgi
sudo chown -R www-data:www-data /usr/lib/cgi-bin
Создайте глобальную конфигурацию для php5-fpm
sudo nano /etc/apache2/conf-available/php5-fpm.conf
вставьте (мы будем использовать сокет вместо IP-адреса)
<IfModule mod_fastcgi.c>
AddHandler php5.fcgi .php
Action php5.fcgi /php5.fcgi
Alias /php5.fcgi /usr/lib/cgi-bin/php5.fcgi
FastCgiExternalServer /usr/lib/cgi-bin/php5.fcgi -socket /var/run/php5-fpm.sock -pass-header Authorization -idle-timeout 3600
<Directory /usr/lib/cgi-bin>
Require all granted
</Directory>
</IfModule>
Включить php5-fpm conf
sudo a2enconf php5-fpm
Перезапустить apache и fpm
В соответствии с другими инструкциями вставьте следующий файл в новый просматриваемый php-файл на вашем веб-сервере.
<?php phpinfo();
Откройте файл, который вы только что отредактировали в веб-браузере. Если вы видите «FPM / FastCGI», рядом с Server API, теперь вы используете PHP с FastCGI!
В Ubuntu 14.04 после выполнения принятого ответа отредактируйте /etc/apache2/conf-available/php5-fpm.conf
<IfModule mod_fastcgi.c>
AddHandler php5-fcgi .php
Action php5-fcgi /php5-fcgi
Alias /php5-fcgi /usr/lib/cgi-bin/php5-fcgi
FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -socket /var/run/php5-fpm.sock -pass-header Authorization -idle-timeout 3600
<Directory /usr/lib/cgi-bin>
Require all granted
</Directory>
</IfModule>
Затем выполните
#sudo a2enconf php5-fpm
#sudo apache2 restart
В случае, если кто-то делает это на Ubuntu 16.04 и понижен с php 7 до php 5.6 (Ondrej), вам нужно заменить некоторые строки (на основе ответа JDawgg):
sudo apt-get установите libapache2-mod-fastcgi php5-fpm в:
sudo apt-get install libapache2-mod-fastcgi php5.6-fpm
sudo a2dismod php5 mpm_prefork:
sudo a2dismod php5.6 mpm_prefork
sudo nano / etc / apache2 / conf-available / php5- fpm.conf:
sudo vim /etc/apache2/conf-available/php5.6-fpm.conf
Процесс установки php5.6-fpm уже создал файл, поэтому нет необходимости его создавать. Тем не менее, я удалил весь существующий текст в этом файле, поскольку он предназначен для mod_php5.
<IfModule mod_fastcgi.c>
AddHandler php5.fcgi .php
Action php5.fcgi /php5.fcgi
Alias /php5.fcgi /usr/lib/cgi-bin/php5.fcgi
FastCgiExternalServer /usr/lib/cgi-bin/php5.fcgi -socket /var/run/php/php5.6-fpm.sock -pass-header Authorization -idle-timeout 3600
<Directory /usr/lib/cgi-bin>
Require all granted
</Directory>
</IfModule>
Я изменил путь из /var/run/php5-fpm.sock в / var / run / php / php5 .6-fpm.sock, поскольку файл был там.
sudo a2enconf php5-fpm to:
sudo a2enconf php5.6-fpm
sudo service apache2 restart & amp; & amp; & amp; & amp; & amp; & amp; & amp; sudo service php5-fpm restart to:
sudo service apache2 restart && sudo service php5.6-fpm restart
Надеюсь, это поможет другим новичкам вроде меня:)