为什么file_put_contents()有时会抛出"没有错误"错误?

时间:2017-01-11 12:52:12

标签: php nginx warnings file-put-contents

为什么此代码有时会发出No such file or directory警告,但有时会发出No error警告;

<?php

file_put_contents('*bad*', 'hello world');    // Trigger illegal filename.

?>

通常会出现此错误警告;

Warning: file_put_contents(*bad*): failed to open stream: No such file
or directory in C:\root\noerror.php on line 3

但是,如果我等一下再次运行它,有时候会说这个;

Warning: file_put_contents(*bad*): failed to open stream: No error in
C:\root\noerror.php on line 3

有什么想法吗?

我使用的是Windows 7,PHP 5.5.11和nginx 1.4.6。在我的php.ini中,我有;

error_reporting = E_ALL
display_errors = On
display_startup_errors = On
log_errors = On
log_errors_max_len = 1024
ignore_repeated_errors = Off
report_memleaks = On
track_errors = On
html_errors = On
error_log = php_errors.log

除了error_log之外,我认为只是正常的默认开发错误设置。

同样的事情发生在日志文件中 - 有时它会显示No such file or directory,有时会显示No error;

[11-Jan-2017 12:29:25 Europe/London] PHP Warning:  file_put_contents(*bad*): failed to open stream: No such file or directory in C:\root\noerror.php on line 3
[11-Jan-2017 12:29:26 Europe/London] PHP Warning:  file_put_contents(*bad*): failed to open stream: No error in C:\root\noerror.php on line 3

1 个答案:

答案 0 :(得分:0)

尝试在 bad 所在的文件夹

上授予用户完全访问权限
  • 鼠标右键单击 - &gt;属性 - 安全 - &gt;编辑 - 选择所有人并保存