Код: Выделить всё
opkg update
opkg install php5 php-cli php5-fpm
почему php5-fpm? потом и его настроем, а пока нам сгодится то, что он тянет за собой php-cgi(php5-cgi) и php-fcgi(php5-fastcgi)
для начала создадим:
1. классика

Код: Выделить всё
echo "<?php phpinfo(); ?>" > /opt/share/nginx/phpinfo.php
или так:
Код: Выделить всё
echo -e "<?php\necho \"PHP-FCGI TEST\";\nphpinfo();\n?>" > /opt/share/nginx/phpinfo.php
2. и файл лога ошибок РНР (он сам не создается):
внесем изменения в php.ini
Код: Выделить всё
...
log_errors = Off <-- включаем логирование, заменив на On
...
;error_log = /opt/var/log/php_errors.log <-- раскомментируем строку, убрав ";"
...
doc_root = "/opt/share/www" <-- домашний каталог (в nginx.conf у нас было - /opt/share/nginx/html;/opt/www/html; /opt/web/html, etc...)
...
[Date]
;date.timezone = <-- раскомментируем строку, убрав ";", и прописываем свою зону, напр., Europe/Moscow
...
подправим nginx.conf для работы с РНР:
Код: Выделить всё
...
index index.html index.htm; <-- допишем index.php
...
#location ~ \.php$ { <-- раскомментируем, удалив "#"
# root html; <-- раскомментируем, удалив "#" и пропишем путь до каталога сервера (напр. /opt/share/nginx/html; /opt/www/html; /opt/web/html, etc...)
# fastcgi_pass 127.0.0.1:9000; <-- раскомментируем, удалив "#"
# fastcgi_index index.php; <-- раскомментируем, удалив "#"
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; <-- $document_root$fastcgi_script_name; или пописать реальный путь
# include fastcgi_params; <-- раскомментируем, удалив "#"
#} <-- раскомментируем, удалив "#"
...
допишем в файл fastcgi_params (/opt/etc/nginx/) пару строк:
Код: Выделить всё
...
fastcgi_param CONTENT_LENGTH $content_length;
<-- fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
<-- fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
...
организуем автозапуск. пойдем по пути наименьшего сопротивления и создадим копию файла S80nginx c другим именем, напр., S30php и внесем в него изменения:
Код: Выделить всё
...
PROCS=nginx <-- меняем имя бинарника на php-fcgi (или php-cgi)
ARGS="-b 9000"
...
сохраняем изменения и (пере)запускаем:
Код: Выделить всё
/opt/etc/init.d/S30php start && /opt/etc/init.d/S80nginx restart
идем в браузере по ip.add.re.ss:88/phpinfo.php и смотрим...

!!! для работы на сокете в nginx.conf изменить строку:
Код: Выделить всё
...
fastcgi_pass 127.0.0.1:9000; <-- fastcgi_pass unix:/opt/var/run/php-fcgi.sock; # (или unix:/opt/var/run/php-cgi.sock;)
...
в файле S30php изменить:
Код: Выделить всё
...
ARGS="-b 9000" <-- ARGS="-b /opt/var/run/php-fcgi.sock &" # (или ARGS="-b /opt/var/run/php-cgi.sock &")
...
а как же базы? mysql, так mysql...