Во время отладки иногда необходимо сначала выявить проблему и понять это проблема из-за PHP или Nginx делает что-то не правильно.
В этом случае может пригодиться cgi-fcgi.
Установка cgi-fcgi на Ubuntu#
Достаточно запустить команду:
1
| apt-get install libfcgi0ldbl
|
Подключение к PHP-FPM на прямую#
Предполагаем что вы запустили PHP-FPM используя TCP/IP
с IP
и PORT
значениями 127.0.0.1
и 9000
соответственно.
Ниже приведены некоторые примеры кода, которые вы можете использовать.
Тест ответа PHP-FPM Ping#
Вы можете запустить следующий код из командной строки что бы протестировать ответ FPM:
1
2
3
4
| SCRIPT_NAME=/ping \
SCRIPT_FILENAME=/ping \
REQUEST_METHOD=GET \
cgi-fcgi -bind -connect 127.0.0.1:9000
|
Должен быть возвращён подобный ответ:
1
2
3
4
| Content-Type: text/plain
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Cache-Control: no-cache, no-store, must-revalidate, max-age=0
pong
|
Тест ответа PHP-FPM Status#
Вы можете запустить следующий код из командной строки что бы протестировать ответ FPM
1
2
3
4
| SCRIPT_NAME=/status \
SCRIPT_FILENAME=/status \
REQUEST_METHOD=GET \
cgi-fcgi -bind -connect 127.0.0.1:9000
|
Должен быть возвращён подобный ответ:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| Expires: Thu, 01 Jan 1970 00:00:00 GMT
Cache-Control: no-cache, no-store, must-revalidate, max-age=0
Content-Type: text/plain
pool: www
process manager: dynamic
start time: 08/Jan/2014:15:04:57 +0530
start since: 93492
accepted conn: 1215
listen queue: 0
max listen queue: 1
listen queue len: 0
idle processes: 26
active processes: 4
total processes: 30
max active processes: 34
max children reached: 0
slow requests: 150
|
Тест ответа PHP-FPM Full Status#
Если вы хотите протестировать ответ PHP-FPM Full Status, вы можете использовать команды:
1
2
3
4
5
| SCRIPT_NAME=/status \
SCRIPT_FILENAME=/status \
QUERY_STRING=full \
REQUEST_METHOD=GET \
cgi-fcgi -bind -connect 127.0.0.1:9000
|
Запуск собственного скрипта#
Если нужно выполнить собственный скрипт, можно применить следующие команды, указав при этом верный “document root”:
1
2
3
4
5
6
| SCRIPT_NAME=/custom.php \
SCRIPT_FILENAME=/custom.php \
QUERY_STRING=VAR1 \
DOCUMENT_ROOT=/var/www/example.com/htdocs/ \
REQUEST_METHOD=GET \
cgi-fcgi -bind -connect 127.0.0.1:9000
|