Чтобы включить PHP в Lighttpd, мы должны изменить два файла, /etc/php.ini и /etc/lighttpd/lighttpd.conf. Во- первых мы открываем /etc/php.ini и разкомментируем строку cgi.fix_pathinfo = 1 :
nano /etc/php.ini
[...] ; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP's ; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok ; what PATH_INFO is. For more information on PATH_INFO, see the cgi specs. Setting ; this to 1 will cause PHP CGI to fix its paths to conform to the spec. A setting ; of zero causes PHP to behave as before. Default is 1. You should fix your scripts ; to use SCRIPT_FILENAME rather than PATH_TRANSLATED. ; http://www.php.net/manual/en/ini.core.php#ini.cgi.fix-pathinfo cgi.fix_pathinfo=1 [...]
Затем мы открываем /etc/lighttpd/modules.conf и раскомментируем линию include «conf.d/fastcgi.conf« :
nano /etc/lighttpd/modules.conf
[...] ## ## FastCGI (mod_fastcgi) ## include "conf.d/fastcgi.conf" [...]
Следующим открываем /etc/lighttpd/conf.d/fastcgi.conf :
nano /etc/lighttpd/conf.d/fastcgi.conf
Там в fastcgi.server строка — оставьте комментарий и добавим свой собственный fastcgi.server следующим образом :
[...] ## PHP Example ## For PHP don't forget to set cgi.fix_pathinfo = 1 in the php.ini. ## ## The number of php processes you will get can be easily calculated: ## ## num-procs = max-procs * ( 1 + PHP_FCGI_CHILDREN ) ## ## for the php-num-procs example it means you will get 17*5 = 85 php ## processes. you always should need this high number for your very ## busy sites. And if you have a lot of RAM. :) ## fastcgi.server += ( ".php" => (( "host" => "127.0.0.1", "port" => "9000", "broken-scriptfilename" => "enable" )) ) #fastcgi.server = ( ".php" => # ( "php-local" => # ( # "socket" => socket_dir + "/php-fastcgi-1.socket", # "bin-path" => server_root + "/cgi-bin/php5", # "max-procs" => 1, # "broken-scriptfilename" => "enable", # ) # ), [...]
Теперь мы перезапустим Lighttpd:
systemctl restart lighttpd.service
Корень документа веб — сайта по умолчанию /var/www/htdocs/. Теперь мы создадим небольшой PHP — файл ( info.php ) в этой директории и вызовем его в браузере. Файл будет отображать множество полезных деталей о нашей установке PHP, таких как установленной версии PHP.
nano /var/www/htdocs/info.php
<?php phpinfo(); ?>
Теперь мы вызовем этот файл в браузере (например , http://192.168.1.110/info.php ):
Как вы видите, PHP работает, и он работает через FPM/FastCGI, как показано на линии Server API . Если прокрутить дальше вниз, вы увидите все модули, которые уже включены в PHP. MySQL отсутствует в списке, что означает, что мы не имеем поддержку MySQL, в PHP пока его нет .
Чтобы получить поддержку MySQL в PHP, мы можем установить пакет php-mysql. Это хорошая идея установить некоторые другие модули PHP, а также может понадобиться они для ваших приложений. Вы можете выполнить поиск доступных PHP5 модулей:
yum search php
Выберите те, что вам нужно, и установите их следующим образом:
yum -y install php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc
APC является свободным и открытым opcode PHP для кэширования и оптимизации PHP промежуточного кода. Он похож на другие PHP кода операции кэширования, такие как Eaccelerator и XCache. Настоятельно рекомендуется, чтобы один из них установлен, чтобы ускорить вашу страницу PHP.
APC может быть установлен следующим образом:
yum -y install php-pecl-apc
Теперь загрузите PHP-FPM:
systemctl reload php-fpm.service
Теперь откройте http://192.168.1.110/info.php в вашем браузере и прокрутите вниз до раздела модулей. Теперь вы должны найти много новых модулей там, включая модуль MySQL:
По умолчанию PHP-FPM прослушивает порт 9000 на 127.0.0.1 . Кроме того, можно сделать PHP-FPM использовать сокет Unix, который позволяет обойтись без накладных расходов TCP. Чтобы сделать это, откройте /etc/php-fpm.d/www.conf …
nano /etc/php-fpm.d/www.conf
… И сделать строку listen следующим образом :
[...] ;listen = 127.0.0.1:9000 listen = /tmp/php5-fpm.sock [...]
Затем перезагрузите PHP-FPM:
systemctl reload php-fpm.service
Затем откройте файл конфигурации PHP LightTPD в /etc/lighttpd/conf.d/fastcgi.conf и заменить host и port линии на «socket» => «/tmp/php5-fpm.sock« :
nano /etc/lighttpd/conf.d/fastcgi.conf
fastcgi.server += ( ".php" => (( "socket" => "/tmp/php5-fpm.sock", "broken-scriptfilename" => "enable" )) )
Наконец перезапустите Lighttpd:
systemctl restart lighttpd.service