我的 IIS 非常不稳定,因为它总是由于某种与 APC 相关的原因而重新启动。
服务器的规格如下
Intel R Xeon CPU 3GHZ 3GHZ
2GB RAM
64bit
APC 和服务器规格
3.1.7-dev
PHP Version 5.3.6
APC Host localhost
Server Software Microsoft-IIS/7.5
Shared Memory 1 Segment(s) with 1024.0 MBytes
(IPC shared memory, File Locks locking)
extension=php_apc.dll
apc.shm_size=1024M
apc.num_files_hint=10000
apc.user_entries_hint=10000
apc.max_file_size=5M
PHP 日志文件出错
28-Jul-2011 09:23:14] PHP Fatal error: Unknown: apc_fcntl_lock failed errno:6 in Unknown on line 0
[28-Jul-2011 09:23:14] PHP Fatal error: Unknown: apc_fcntl_lock failed errno:6 in Unknown on line 0
[28-Jul-2011 09:24:23] PHP Notice: Undefined index: SERVER_ADDR in C:\inetpub\wwwroot\apc.php on line 68
[28-Jul-2011 09:24:24] PHP Notice: Undefined index: SERVER_ADDR in C:\inetpub\wwwroot\apc.php on line 68
[28-Jul-2011 09:24:24] PHP Warning: date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'UTC' for '8.0/no DST' instead in C:\inetpub\wwwroot\apc.php on line 1122
[28-Jul-2011 09:24:24] PHP Warning: date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'UTC' for '8.0/no DST' instead in C:\inetpub\wwwroot\apc.php on line 1123
[28-Jul-2011 09:24:24] PHP Warning: date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'UTC' for '8.0/no DST' instead in C:\inetpub\wwwroot\apc.php on line 1124
[28-Jul-2011 09:24:30] PHP Notice: Undefined index: SERVER_ADDR in C:\inetpub\wwwroot\apc.php on line 68
[28-Jul-2011 09:24:30]
我无法弄清楚导致 IIS 重新启动的错误或原因apc_fcntl_lock 失败 errno:6。
我的项目存储了高达 1GB 的缓存数据,因此解释了 shm 设置为 1024M
当我在浏览器上重新加载 apc.php 页面时,问题似乎更频繁地发生
HTTP 错误 500.0 - 内部服务器错误
C:\PHP\php-cgi.exe - FastCGI 进程意外退出
我的缓存被重置,我必须再次重新缓存我的数据。
它在我的 LINUX 服务器上运行良好。我的 APC 配置有问题吗?
我认为这不是您的 APC 配置本身的问题,而更可能是 Windows 上处理文件锁定的方式存在问题。我在APC源代码中查找了apc_fcntl_lock,它非常简单,并且已经好几个月没有改变了。
如果您只运行一个工作进程,您可以尝试设置 apc.write_lock = 0 看看是否有帮助。
否则,您可以尝试旧版本的 PHP(或 5.3.7RC3),以防问题出在 APC 与 PHP 交互的方式上(尽管可能性不大)。
最后,如果这不起作用,也许可以尝试不同的操作码缓存;例如 xcache。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)