我遇到了APC正常工作的一些问题。 文件caching总是显示命中= 1和未命中继续增加,但同时,caching的文件条目显示一些数字在一段时间内成百上千。 用户高速caching条目看起来似乎正常工作。 但一天几乎两次我不断收到内部服务器错误,然后不得不重新启动php-fpm。 我高度分配1024M的内存和其他一些常规的configuration的东西。 如果你有更多的想法,我可以有你的电子邮件ID来讨论这个,并发送给你更多的细节。
APCconfiguration如下。 我已经尝试了非零ttls和其他选项。 另外,在FastCGIconfiguration – 我已经尝试设置PHP_FCGI_CHILDREN为'0'和其他值。 我已经设置了超过FcgidMaxRequestsPerProcess值(8000)的PHP_FCGI_MAX_REQUESTS(12000),正如我在本文中发现的, http: //httpd.apache.org/mod_fcgid/mod/mod_fcgid.html
但是内部服务器错误仍然每天都会出现几乎两次,我必须重新启动PHP-FPM
APCconfiguration如下:
apc.cache_by_default 1 apc.canonicalize 1 apc.coredump_unmap 0 apc.enable_cli 0 apc.enabled 1 apc.file_md5 0 apc.file_update_protection 2 apc.filters apc.gc_ttl 3600 apc.include_once_override 1 apc.lazy_classes 00 apc.lazy_functions 0 apc.max_file_size 4M apc.mmap_file_mask /tmp/apc.mXJeFR apc.num_files_hint 10000 apc.preload_path apc.report_autofilter 0 apc.rfc1867 0 apc.rfc1867_freq 0 apc.rfc1867_name APC_UPLOAD_PROGRESS apc.rfc1867_prefix upload_ apc.rfc1867_ttl 3600 apc.serializer default apc.shm_segments 1 apc.shm_size 1024M apc.shm_strings_buffer 4M apc.slam_defense 1 apc.stat 1 apc.stat_ctime 0 apc.ttl 0 apc.use_request_time 1 apc.user_entries_hint 4096 apc.user_ttl 0 apc.write_lock 1
PHP.FastCGIconfiguration如下:
#!/bin/bash PHPRC="/etc/php.ini" PHP_FCGI_CHILDREN=16 PHP_FCGI_MAX_REQUESTS=12000 export PHPRC export PHP_FCGI_CHILDREN export PHP_FCGI_MAX_REQUESTS exec /usr/bin/php-cgi
我认为清除caching是这个问题的一个select。 重新启动你的apache服务或者添加一些类似apc.php的文件,并根据你的需要在特定的时间间隔后设置一个cron来清除它。
或者另选
如果您的open_dir限制有效或者如果这是在用户帐户上,您必须使用适当的权限将APC的tmp目录设置为相对于用户主目录。
只是为了社区的利益 – 这是一个独特的东西,对我造成了巨大的破坏,在我对这个问题的广泛讨论之前,我没有发现任何这种情况的问题或答案。
频繁发生内部服务器错误的问题是 – 在我迁移使用APCcaching的新电子商务网站之前,我已经在服务器上安装了PHP 5.4.27和Zend Opcache。 这导致了某处的冲突,并导致内部服务器错误。
删除Zend Opcache后,另一个因素是apc.include_once_override被设置为'1'。 它导致页面扭曲,我已经读了这个地方,所以能够立即引脚指向和“0”。
现在它像魅力正常工作! 经过一个月的战斗,我感到如释重负。