ฉันใช้ Mac OS X 10.9.4 รวมถึงเว็บเซิร์ฟเวอร์ apache2 ในตัวพร้อม PHP 5.5.14 จาก Brew (แพ็คเกจ: php55, php55-intl, php55-pdo-pgsql, php55-xdebug)
เมื่อใช้งานการตั้งค่านี้มันทำงานได้ค่อนข้างดี อย่างไรก็ตามหลังจากนั้นครู่หนึ่งฉันจะเรียกใช้ข้อผิดพลาด 403 สำหรับทุกคำขอ ฉันค้นหาบันทึกข้อผิดพลาด apache และพบสิ่งต่อไปนี้:
[Fri Jul 25 05:28:18 2014] [error] [client 127.0.0.1] PHP Warning: require_once(/Users/daniel/Development/massiveart/sulu-complete/app/bootstrap.php.cache): failed to open stream: Too many open files in /Users/daniel/Development/massiveart/sulu-complete/web/website.php on line 10, referer: http://sulu.lo/de
[Fri Jul 25 05:28:18 2014] [error] [client 127.0.0.1] PHP Stack trace:, referer: http://sulu.lo/de
[Fri Jul 25 05:28:18 2014] [error] [client 127.0.0.1] PHP 1. {main}() /Users/daniel/Development/massiveart/sulu-complete/web/website.php:0, referer: http://sulu.lo/de
[Fri Jul 25 05:28:18 2014] [error] [client 127.0.0.1] PHP Fatal error: require_once(): Failed opening required '/Users/daniel/Development/massiveart/sulu-complete/web/../app/bootstrap.php.cache' (include_path='.:/usr/local/Cellar/php55/5.5.14/lib/php') in /Users/daniel/Development/massiveart/sulu-complete/web/website.php on line 10, referer: http://sulu.lo/de
[Fri Jul 25 05:28:18 2014] [error] [client 127.0.0.1] PHP Stack trace:, referer: http://sulu.lo/de
[Fri Jul 25 05:28:18 2014] [error] [client 127.0.0.1] PHP 1. {main}() /Users/daniel/Development/massiveart/sulu-complete/web/website.php:0, referer: http://sulu.lo/de
[Fri Jul 25 05:28:40 2014] [crit] [client 127.0.0.1] (24)Too many open files: /Users/daniel/Development/massiveart/sulu-complete/web/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable, referer: http://sulu.lo/de
[Fri Jul 25 05:28:41 2014] [crit] [client 127.0.0.1] (24)Too many open files: /Users/daniel/Development/massiveart/sulu-complete/web/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable, referer: http://sulu.lo/de
[Fri Jul 25 05:28:41 2014] [crit] [client 127.0.0.1] (24)Too many open files: /Users/daniel/Development/massiveart/sulu-complete/web/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable, referer: http://sulu.lo/de
[Fri Jul 25 05:28:41 2014] [crit] [client 127.0.0.1] (24)Too many open files: /Users/daniel/Development/massiveart/sulu-complete/web/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable, referer: http://sulu.lo/de
[Fri Jul 25 05:28:45 2014] [crit] [client 127.0.0.1] (24)Too many open files: /Users/daniel/Development/massiveart/sulu-complete/web/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable, referer: http://sulu.lo/de
[Fri Jul 25 05:28:45 2014] [crit] [client 127.0.0.1] (24)Too many open files: /Users/daniel/Development/massiveart/sulu-complete/web/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable, referer: http://sulu.lo/de
ดูเหมือนว่าฉันจะไม่สามารถอ่านไฟล์ได้อีกต่อไปและส่งคืน 403 อย่างใด ฉันพบข้อ จำกัด บางอย่างแล้ว แต่ผลตอบแทนของ Launchctl ฉันมีขีด จำกัด ที่ไม่ จำกัด สำหรับไฟล์ที่เปิดอยู่:
~ $ launchctl limit
cpu unlimited unlimited
filesize unlimited unlimited
data unlimited unlimited
stack 8388608 67104768
core 0 unlimited
rss unlimited unlimited
memlock unlimited unlimited
maxproc 709 1064
maxfiles 256 unlimited
ฉันได้ลองตั้ง maxfiles เป็น 4096 ด้วยคำสั่งlaunchctl limit maxfiles 4096 16384
แล้ว แต่ปัญหายังคงกลับมาหลังจากผ่านไประยะหนึ่ง มีความคิดอะไรที่ฉันสามารถตรวจสอบได้อีกบ้าง?
UPDATE : เมื่อรันlsof -c httpd
คำสั่งตามที่ Gordon Davisson แนะนำฉันจะเห็นว่ามีรายการจำนวนมากดังต่อไปนี้:
httpd 1361 _www 15u IPv4 0xb306b48659f63853 0t0 TCP localhost:50603->localhost:cslistener (CLOSED)
ฉันสามารถพูดได้ว่าแอปพลิเคชันที่ฉันใช้กำลังใช้เว็บซ็อกเก็ตและยังใช้ทางเลือกเมื่อเว็บซ็อกเก็ตไม่พร้อมใช้งานหรือไฟล์คู่นั้นไม่ได้ทำงานบนเซิร์ฟเวอร์ อะไรคือสิ่งที่ทำให้ฉันสับสน - (CLOSED)
ส่วนที่เหลือทำไมมันถึงอยู่ในรายการ?
UPDATE : หลังจากนั้นสักครู่ฉันค้นหาพอร์ต cslistener ซึ่งอันที่จริงแล้วคือ 9000 ซึ่งอีกครั้งคือพอร์ตที่ xdebug กำลังรับฟังสำหรับการแก้ไขข้อบกพร่องระยะไกล ดังนั้นฉันคิดว่าฉันมีการกำหนดค่าที่ผิดหรือมีข้อผิดพลาดใน xdebug (ฉันใช้ XDebug 2.2.5 ติดตั้งโดยชง)