เข้าถึงหน้า / สถานะของ PHP-FPM ด้วยตนเอง (บายพาส Apache)


9

มีข้อผิดพลาด PHP5.3.3ที่ไม่อนุญาตให้ฉันดูหน้าสถานะ / php-fpm ผ่านทาง Apache2 มีวิธีเข้าถึงข้อมูลนี้ด้วยตนเองหรือไม่? ฉันไม่สามารถอัพเกรดกล่อง (Ubuntu 10.10, php5.3.4 ไม่รองรับ)

ฉันลองเชื่อมต่อโดยใช้เทคนิคที่นี่: http://inode.co.nz/testing-a-fastcgi-serviceแต่ก็ไม่มีโชค

คำตอบ:


12

เพื่อโหลดหน้า / สถานะคุณต้องมีตัวแปรสภาพแวดล้อมบางอย่างตั้งเฉพาะ: SCRIPT_NAME, SCRIPT_FILENAME, และQUERY_STRING REQUEST_METHODคุณไม่ต้องการDOCUMENT_ROOT(แม้แต่คำขอปกติ)

ใต้พูลที่ถูกต้อง (ไม่ใช่การตั้งค่าร่วม) ของชุดการกำหนดค่า php-fpm ของคุณ

pm.status_path = /status

จากนั้นรัน (แทนที่ PORT):

SCRIPT_NAME=/status \
SCRIPT_FILENAME=/status \
QUERY_STRING= \
REQUEST_METHOD=GET \
cgi-fcgi -bind -connect 127.0.0.1:PORT

ตัวอย่างผลลัพธ์:

X-Powered-By: PHP/5.3.9
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:                 web1
process manager:      dynamic
start time:           28/Jan/2012:20:49:44 -0500
start since:          5955
accepted conn:        41
listen queue:         0
max listen queue:     0
listen queue len:     128
idle processes:       1
active processes:     1
total processes:      2
max active processes: 1
max children reached: 0

หมายเหตุ: ผลลัพธ์เป็นข้อมูลเฉพาะของพูล

ทดสอบบนระบบ RHEL / CentOS 6 ด้วย PHP v5.3.9

(จุดที่กล่าวถึงด้านข้างสำหรับผู้ใช้ CentOS - แพคเกจที่ให้บริการcgi-fcgiมีชื่อfcgiและพร้อมใช้งานจาก EPEL)

นอกเหนือจากกัน ping สามารถทำได้:

ตั้ง: ping.path = /ping( กำหนดค่าphp-fpm)

SCRIPT_NAME=/ping\
SCRIPT_FILENAME=/ping\
REQUEST_METHOD=GET \
cgi-fcgi -bind -connect 127.0.0.1:PORT

หรือสำหรับไฟล์ PHP ปกติ (คุณต้องใช้เส้นทางแบบเต็ม QUERY_STRING เป็นทางเลือก):

SCRIPT_NAME=/test.php \
SCRIPT_FILENAME=/var/www/path/to/test.php \
QUERY_STRING= \
REQUEST_METHOD=GET \
cgi-fcgi -bind -connect 127.0.0.1:PORT

มันทำงาน !!! ฉันลองทำซ้ำทุกครั้ง (REQUEST_METHOD และ DOCUMENT_ROOT และ (SCRIPT_NAME หรือ SCRIPT_FILENAME)) ขอบคุณอย่างไม่น่าเชื่อ
mikewaters
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.