我刚刚升级到Ubuntu 14.04和php5.5.9,并且遇到了一些旧代码的问题。
这可能很简单,但让我发疯了!
归结起来,问题在于:
我无法弄清楚为什么php包含OLD文件,而不是新编写的文件。
注意:文件由PHP正确编写。但是包含OLD文件,而不是新文件。 如果我点击浏览器刷新,则会显示新值。
变量文件是用php标签编写的,因为我很久以前就写过了。不确定我是否需要更改它。
filename.php
<?php
$yesorno = "no";
?>
samplefile.php
include "/filepath/filename.php";
$opencar = '<';
$closecar = '>';
$fh = fopen("/filepath/filename.php", 'w') or die("can't open file");
fwrite($fh, $opencar."?php\n");
fwrite($fh, "\$yesorno = \"yes\";\n");
fwrite($fh, "?".$closecar."\n");
fclose($fh);
include "/filepath/filename.php";
echo "result: $yesorno";
execute samplefile.php
结果:“不”
(刷新浏览器)结果:“是”
直接查看filename.php
,会立即正确写入。只是用include没有正确调用。
我做了什么:
php.ini:
allow_url_fopen = On
allow_url_include = On
restarted apache
尝试了各种形式的clearstatcache
此代码适用于较早版本的php
。
答案 0 :(得分:0)
您是否安装并启用了apc?如果是这样,您还必须清除其缓存。调用apc_clear_cache()
或告诉它重新编译更新的文件
apc_compile_file("/filepath/filename.php");