คำถามติดแท็ก php-fpm

PHP-FPM (FastCGI Process Manager) เป็นอีกทางเลือกหนึ่งในการติดตั้ง PHP FastCGI พร้อมคุณสมบัติเพิ่มเติมที่มีประโยชน์สำหรับเว็บไซต์ทุกขนาดโดยเฉพาะไซต์ที่มีงานยุ่ง


14
Nginx 1 FastCGI ส่งเป็น stderr:“ ไม่รู้จักสคริปต์หลัก”
ครั้งแรกที่ฉันใช้ Nginx แต่ฉันคุ้นเคยกับ Apache และ Linux มากกว่า ฉันใช้โครงการที่มีอยู่และเมื่อฉันพยายามดู index.php ฉันไม่พบไฟล์ 404 นี่คือรายการ access.log: 2013/06/19 16:23:23 [error] 2216#0: *1 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "GET /index.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "www.ordercloud.lh" และนี่คือไฟล์ที่มีในเว็บไซต์: server { set $host_path "/home/willem/git/console/www"; access_log …
81 nginx  php-fpm 

1
ความแตกต่างและแตกต่าง / แตกต่างระหว่าง: Fast-CGI, CGI, Mod-PHP, SuPHP, PHP-FPM
มี "wrappers" php ที่แตกต่างกันไม่กี่ (?) ความแตกต่างระหว่างพวกเขาคืออะไร? พยายามที่จะ google บางอย่าง แต่ดูเหมือนจะไม่พบข้อมูล (mod-php ไม่สามารถใช้ google ได้) ทำไมฉันถึงเลือกอันใดอันหนึ่ง?

3
ตัวเลือก PHP 'cgi.fix_pathinfo' อันตรายจริง ๆ กับ Nginx + PHP-FPM หรือไม่
มีการจำนวนมากของการพูดคุยเกี่ยวกับปัญหาด้านความปลอดภัยเมื่อเทียบกับตัวเลือก PHP ใช้กับ Nginx (ปกติ PHP-FPM, CGI เร็ว) cgi.fix_pathinfo ดังนั้นไฟล์กำหนดค่า nginx เริ่มต้นที่ใช้ในการพูด: # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini อย่างไรก็ตามตอนนี้วิกิ Nginx "เป็นทางการ" ระบุว่า PATH_INFO สามารถจัดการได้อย่างถูกต้องโดยไม่ปิดใช้งานตัวเลือก PHP ด้านบน แล้วอะไรล่ะ คำถาม คุณช่วยอธิบายได้อย่างชัดเจนว่าcgi.fix_pathinfoทำอะไร? ( doc อย่างเป็นทางการเพิ่งพูดว่า : "สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ PATH_INFO ดูรายละเอียด CGI") PHP จะทำอะไรกับตัวแปรPATH_INFOและสิ่งเหล่านี้SCRIPT_FILENAME? ทำไมและอย่างไรจึงจะเป็นอันตรายกับ Nginx ( ตัวอย่างโดยละเอียด ) ปัญหายังคงมีอยู่ในโปรแกรมเหล่านี้รุ่นล่าสุดหรือไม่? Apache …

7
คำสั่ง PECL สร้างรายการข้อผิดพลาดแบบยาว
กำลังรัน PHP 5.4 บน CentOS 6.5 ฉันติดตั้งแพ็คเกจ php55w ของ webtatic จากนั้นติดตั้ง PEAR + PECL โดยไม่มีปัญหาพร้อมกับ redis และ mongo ผ่าน PECL หลังจากนั้นไม่นานฉันก็รู้ว่า 5.5 ไม่เข้ากันกับกรอบที่ฉันทำงานด้วยดังนั้นฉันจึงลบ php55w และติดตั้ง php54w ลงไป ตอนนี้คำสั่ง pecl ไม่ทำงานเลย มันเพิ่งสร้างสตริงข้อผิดพลาดที่ยาวมาก ๆ ทุกครั้งที่ฉันออกคำสั่ง pecl (ตัวย่อ ... ซ้ำหลายครั้งมากที่สุด): Warning: Invalid argument supplied for foreach() in Command.php on line 259 Warning: Invalid …
47 php  centos6  php-fpm  pecl  pear 

3
php5-fpm: เซิร์ฟเวอร์ถึง pm.max_children
ฉันมีNginx + php5-FPM หลายครั้งต่อชั่วโมงเว็บไซต์ของฉัน stucks และใน logfile ฉันเห็นต่อไปนี้: คำเตือน: เซิร์ฟเวอร์ [พูล www] ถึงการตั้งค่า pm.max_children (5) ให้ลองเพิ่ม ไฟล์/etc/php5/fpm/pool.d/www.confมีการกำหนดค่าต่อไปนี้: pm = dynamic pm.max_children = 5 pm.start_servers = 2 pm.min_spare_servers = 1 pm.max_spare_servers = 3 เซิร์ฟเวอร์: AMD Opteron ™ 3280, Octo-Core, 8x 2.4 GHz, 16 GB DIMM (DDR3) ฉันไม่รู้ว่าฉันควรใส่ตัวเลขอะไรในไฟล์ www.conf สำหรับเซิร์ฟเวอร์นี้ ฉันช่วยคนได้ไหม ขอบคุณ
41 php-fpm 

3
ฉันจะเปลี่ยนผู้ใช้ NGINX ได้อย่างไร
ฉันมีสคริปต์ PHP ที่สร้างไดเรกทอรีและส่งภาพไปยังไดเรกทอรี สิ่งนี้ทำงานได้ดีภายใต้ Apache แต่เมื่อเร็ว ๆ นี้เราตัดสินใจเปลี่ยนเป็น NGINX เพื่อใช้ประโยชน์จาก RAM ที่ จำกัด ฉันใช้คำสั่ง PHP mkdir () เพื่อสร้างไดเรกทอรี: mkdir(dirname($path['image']['server']), 0755, true); หลังจากเปลี่ยนเป็น NGINX ฉันได้รับคำเตือนต่อไปนี้: Warning: mkdir(): Permission denied in ... ฉันได้ตรวจสอบสิทธิ์ทั้งหมดของไดเรคทอรีหลักแล้วฉันจึงตัดสินใจว่าอาจต้องเปลี่ยนผู้ใช้ 'NGINX หรือ PHP-FPM แต่ฉันไม่แน่ใจว่าจะทำอย่างไร (ฉันไม่ต้องระบุผู้ใช้ สิทธิ์สำหรับ APACHE) ฉันไม่สามารถหาข้อมูลมากมายเกี่ยวกับเรื่องนี้ ความช่วยเหลือใด ๆ จะดีมาก! (หมายเหตุ: นอกจากการวางสายเล็กน้อยการสลับไปใช้ NGINX นั้นค่อนข้างราบรื่นฉันใช้มันเป็นครั้งแรกและใช้เวลาเพียง 10 นาทีในการขึ้นและทำงานกับ NGINX ตอนนี้ฉันแค่รีดผ้า …

3
nginx + php-fpm - $ _GET params ของฉันอยู่ที่ไหน
ฉันมีปัญหาแปลก ๆ ที่นี่ ฉันเพิ่งย้ายจาก apache + mod_php เป็น nginx + php-fpm ทุกอย่างไปได้ดียกเว้นปัญหาเดียวนี้ ฉันมีเว็บไซต์สมมติว่า example.com เมื่อฉันเข้าถึงมันเหมือนexample.com?test=get_param $_SERVER['REQUEST_URI']มี/?test=get_paramและมี$_GET['test']ยัง แต่เมื่อฉันเข้าถึงexample.com/ajax/search/?search=get_param $_SERVER['REQUEST_URI']คือ/ajax/search/?search=get_paramยังไม่มี$_GET['search'](ไม่มี$_GETอาร์เรย์ที่ทั้งหมด) ฉันใช้กรอบ Kohana ซึ่งเส้นทาง/ajax/searchที่จะควบคุม แต่ฉันได้ใส่phpinfo()ที่index.phpดังนั้นฉันตรวจสอบ$_GETตัวแปรก่อนที่จะกรอบได้ทำอะไรเลย (ที่นี้หมายถึงว่า disapearing params รับไม่ได้กรอบความผิด) nginx.conf ของฉันเป็นแบบนี้ worker_processes 4; pid logs/nginx.pid; events { worker_connections 1024; } http { index index.html index.php; autoindex on; autoindex_exact_size off; include mime.types; default_type application/octet-stream; …
34 nginx  php-fpm  kohana 

12
Apache 2.4 + PHP-FPM + ProxyPassMatch
ฉันเพิ่งติดตั้ง Apache 2.4 บนเครื่องท้องถิ่นของฉันพร้อมกับ PHP 5.4.8 โดยใช้ PHP-FPM ทุกอย่างค่อนข้างราบรื่น (หลังจากนั้นไม่นาน ... ) แต่ก็ยังมีข้อผิดพลาดแปลก ๆ อยู่: ฉันกำหนดค่า Apache สำหรับ PHP-FPM เช่นนี้: <VirtualHost *:80> ServerName localhost DocumentRoot "/Users/apfelbox/WebServer" ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/Users/apfelbox/WebServer/$1 </VirtualHost> มันใช้งานได้เช่นถ้าฉันเรียกhttp://localhost/info.phpฉันว่าถูกต้องphpinfo()(มันเป็นแค่ไฟล์ทดสอบ) ถ้าฉันเรียกไดเรกทอรี แต่ฉันได้รับ 404 ที่มีเนื้อหาFile not found.และในบันทึกข้อผิดพลาด: [Tue Nov 20 21:27:25.191625 2012] [proxy_fcgi:error] [pid 28997] [client ::1:57204] AH01071: Got error …

8
Nginx + php-fpm ข้อผิดพลาด“ 504 เกตเวย์หมดเวลา” ข้อผิดพลาดที่มีภาระเกือบเป็นศูนย์ (บนเซิร์ฟเวอร์ทดสอบ)
หลังจากดีบั๊กเป็นเวลา 6 ชั่วโมง - ฉันยอมแพ้: | เรามี nginx + php-fpm + mysql ในระบบ LAN ด้วยเกือบ 100 wordpress (สร้างและใช้โดยนักออกแบบ / นักพัฒนาที่แตกต่างกันทั้งหมดที่ทำงานในการตั้งค่า wordpres ทดสอบ) เราใช้ nginx โดยไม่มีปัญหาใด ๆ จากความยาว วันนี้ทุกอย่างฉับพลัน - nginx เริ่มกลับมา "504 Gateway Time-out" จากสีน้ำเงิน ... ฉันตรวจสอบบันทึกข้อผิดพลาด nginx สำหรับโฮสต์เสมือน ... 2010/09/06 21:24:24 [error] 12909#0: *349 upstream timed out (110: Connection …

1
ต้องโหลด PHP-FPM ใหม่ตลอดเวลา
เรามีเซิร์ฟเวอร์ที่โหลดค่อนข้างมากซึ่งใช้งาน nginx และ PHP-FPM เรามี 6 เว็บไซต์บนเซิร์ฟเวอร์นี้ใช้งาน PHP-FPM และ nginx ซอฟต์แวร์เป็น vBulletin 3.8 และ WordPress ทั้งหมด ฐานข้อมูลอยู่บนเซิร์ฟเวอร์ที่แยกต่างหาก ขณะนี้เนื่องจากเว็บไซต์เหล่านี้เป็นเว็บไซต์ที่ได้รับความนิยมอย่างสูงเราจึงมีผู้เยี่ยมชมเว็บไซต์ครั้งละ 7-8,000 คนโดยแต่ละหน้ามีการเข้าใช้ฐานข้อมูลเป็นส่วนใหญ่ ฉันเชื่อว่านี่เป็นสาเหตุของปัญหาของเรา เนื่องจากเรามีฐานข้อมูลขนาดใหญ่จำนวนมากบนเซิร์ฟเวอร์ MySQL และเนื่องจากข้อสงสัยสามารถทำได้ดีกว่ามากในซอฟต์แวร์ฉันคิดว่า MySQL อาจล้มเหลวในการส่งคืนผลลัพธ์เป็น PHP ในเวลาที่เหมาะสมสร้างผลกระทบที่ตามมาในที่สุด ทำให้ทุกอย่างหยุดลงจนกว่าเราจะโหลด PHP-FPM ใหม่ หลังจากที่เราทำสิ่งต่าง ๆ เริ่มทำงานได้ดีอีกครั้ง เหตุผลที่ฉันมีปัญหาในการแก้ไขปัญหานี้เป็นเพราะฉันไม่สามารถแยกแยะอะไรจากบันทึก ในบันทึกการสืบค้น MySQL ที่ช้าฉันไม่เห็นสิ่งใดที่น่าสนใจเมื่อเกิดการหยุดทำงาน ในบันทึก nginx ฉันเห็นรายการนับพันที่บอกว่าคำขอการอ่านหมดเวลาหรือการเชื่อมต่อหมดเวลา (ไปที่ PHP-FPM) และในบันทึกของ PHP-FPM ฉันเห็นหลายบรรทัดที่ระบุว่า "การดำเนินการหมดเวลา (31 วินาที) การยกเลิก …
27 mysql  nginx  php-fpm 

8
Apache2 Proxy หมดเวลา
ฉันมี Apache2 พร้อม PHP + PHP-FPM ที่กำหนดค่าตาม: http://wiki.apache.org/httpd/PHP-FPM ฉันกำลังเขียนสคริปต์ที่จะต้องใช้เวลานานในการรันบน Vhost ภายใน แต่หมดเวลาหมดทุกอย่างจะทำงานได้อย่างไม่มีที่ติหากสคริปต์ทำงานภายใน 30 วินาที บันทึก apache ของฉันบอกฉัน: [Wed Apr 17 21:57:23.075175 2013] [proxy_fcgi:error] [pid 9263:tid 140530454267648] (70007)The timeout specified has expired: [client 58.169.202.172:49017] AH01075: Error dispatching request to :, referer: เมื่อพยายามเรียกใช้สคริปต์ฉันจะได้รับ503 Service Unavailableหลังจากระยะเวลาดำเนินการ 30 วินาที เหตุผลนี้หมายความว่าฉันมีคำสั่งหมดเวลาหรือตั้งค่าเป็น 30 วินาที แต่ฉันมีสิ่งเหล่านี้ในการกำหนดค่า Vhost …

6
เพิ่มขนาดการอัพโหลด / โพสต์สูงสุดของ PHP-FPM
ฉันใช้ php5-fpm ภายใต้ Nginx บน Ubuntu 14.04 ฉันต้องการเพิ่มขนาดการอัปโหลดสูงสุด ฉันได้แก้ไข/etc/php5/fpm/php.iniเพื่อให้บรรทัดต่อไปนี้มีการกำหนดไว้ด้านล่าง upload_max_filesize = 20M post_max_size = 25M และฉันรีสตาร์ท php5-fpm และ nginx แต่phpinfo()ยังคงแสดงข้อ จำกัด ที่ 8M และ 2M สำหรับโพสต์และอัปโหลดตามลำดับ มีอะไรที่ฉันพลาดไปไหม
22 nginx  php-fpm  php.ini 

4
nginx + PHP-FPM = ข้อผิดพลาด“ สิทธิ์ถูกปฏิเสธ” 13 ในบันทึก nginx; ข้อผิดพลาดในการกำหนดค่า?
ฉันมี nginx 0.7x + PHP-FPM ทำงานภายใต้ PHP 5.2.10 บนเซิร์ฟเวอร์ RHEL5 หนึ่งตัว แต่พยายามทำซ้ำการตั้งค่านั้นภายใต้ PHP-FPM ที่รวมอยู่ใน PHP 5.3.3 บนเซิร์ฟเวอร์ตัวที่สองฉันมี ปัญหาบางอย่างเกี่ยวกับข้อผิดพลาดการอนุญาตทุกครั้งที่มี GET FPM เริ่มต้นแล้วและยืนยันว่า fastcgi กำลังรับฟัง 9000 แต่ทุกครั้งที่ฉันรับ GET ฉันเห็นข้อผิดพลาดนี้ในบันทึก nginx: 2010/08/12 23:38:53 [crit] 5019#0: *5 stat() "/home/noisepages/www/" failed (13: Permission denied), client: 24.215.173.141, server: dev.noisepages.com, request: "GET / HTTP/1.1", host: "dev.noisepages.com" Barebones …

2
อะไรคือความแตกต่างระหว่างการใช้อัปสตรีมและตำแหน่งสำหรับ php-fpm
ฉันค้นหามาแล้ว แต่ไม่พบคำตอบที่ตรงถ้าใครซักคนโปรดอธิบายให้เข้าใจก็จะได้รับการชื่นชมอย่างมากขอบคุณ! location ~ \.php$ { try_files $uri = 404; fastcgi_pass unix:/run/php-fpm/php-fpm.sock; fastcgi_index index.php; include fastcgi.conf; } และ / หรือ? upstream php { server unix:/run/php-fpm/php-fpm.sock; } ขอบคุณ!

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