Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP脚本在更改和重新运行时锁定(由APC引起)_Php_Apc_File In Use - Fatal编程技术网

PHP脚本在更改和重新运行时锁定(由APC引起)

PHP脚本在更改和重新运行时锁定(由APC引起),php,apc,file-in-use,Php,Apc,File In Use,基本信息-在Windows XP Pro 32位上使用PHP5.4.3和Apache 2.2.22运行WAMP 2.2 我的问题是,当我运行php脚本时,它会运行得很好。现在,如果我更改该脚本并重新运行它,页面将永远不会加载,并且由于被其他程序使用,脚本将被锁定。我发现它正被进程httpd.exe使用,如果我使用End process(实际上是重新启动它而不是停止它),原始页面将突然加载,新脚本将运行。如果我再换一次,它也会做同样的事情 如果我禁用PHPAPC扩展,这个问题就不会发生,所以它是由

基本信息-在Windows XP Pro 32位上使用PHP5.4.3和Apache 2.2.22运行WAMP 2.2

我的问题是,当我运行php脚本时,它会运行得很好。现在,如果我更改该脚本并重新运行它,页面将永远不会加载,并且由于被其他程序使用,脚本将被锁定。我发现它正被进程httpd.exe使用,如果我使用End process(实际上是重新启动它而不是停止它),原始页面将突然加载,新脚本将运行。如果我再换一次,它也会做同样的事情

如果我禁用PHPAPC扩展,这个问题就不会发生,所以它是由APC引起的


我尝试过使用从“apc 3.1.14 beta for PHP5.4”和apc 3113 beta_php54_vc9.dll(重命名为php_apc.dll)下载的php_apc_3114; u beta_php54.dll(重命名为php_apc.dll),同样的地方是“apc 3.1.13 beta for PHP5.4 vc9”

我建议只从特定站点下载php扩展。扩展应该针对特定的PHP版本和系统进行编译(检查x86/x64和线程安全与非线程安全)。下载正确编译的windows扩展的最佳位置是:

适用于Windows的PHP:

还有Anindya的博客:

编辑:如我在下面的评论中所述,您是否尝试从链接到的原始站点使用两个版本的APC(线程安全和非线程安全)


这听起来像是某种线程问题…

我帮了自己一个忙,在Linux上完成了这一切。设置我的整个服务器并在Ubuntu上安装APC比在WAMP中插入APC更快、更流畅。在几个命令和一个干净的安装之后,它工作得很好,我不敢相信我没有更快地迁移到Linux

许多人链接到说有很多版本(即使只有两个版本),如果我从那里使用php_apc-3.1.10-5.4-vc9-x86.zip,我会得到一个php启动:无法加载动态库'----/php_apc.dll'-无法找到指定的过程。另一个版本给出了另一个错误,我想是因为它是针对PHP5.3的。我现在会尝试其他网站的,但我使用的网站是我发现的第一个提供dll的网站,它运行良好。我看起来Anindya的博客是供64位下载的,这对我不适用。在访问windows.php.net时,我发现扩展名位于,但关于哪个版本适用于哪个版本的php、32/64位或ts vs nts的信息非常有限。您是否可以根据我的具体情况将我链接到一个下载?您是否尝试过从原始链接到freshite.pl的线程安全和非线程安全(nts)版本的APC?非线程安全版本提供了“PHP启动:无法加载动态库”--/PHP_APC.dll”-找不到指定的模块”,我相当肯定线程安全,尽管它没有错误,但在某种程度上对我的PHP来说是坏的或不正确的。apc_add函数与最初的烦恼一样有效,但apc_store似乎根本不起作用,在PHP脚本中使用时会锁定文件并挂起页面。阅读Apache和我的两个httpd.exe进程后,我相当肯定我需要线程安全版本,因为Apache显然在Windows上处理多线程的请求。