非常简单的一个,我只是想在fOpen或File_Put_Content中添加一个超时。
等待时间太长,此文件正在本地写入文件,如果无法访问或写入该文件,则需要立即发出错误消息,而不是在30秒后。
我试过了
php.ini default_socket_timeout = 5 // Made no change
PHP文件内部:
ini_set('default_socket_timeout',2); // Made no change
尝试了以下代码:
$context = stream_context_create(array('http'=> array( 'timeout' => 1.0, 'ignore_errors' => true, )));
$fh = @file_put_contents($file, $string, false, $context);
除了写一个If语句,从X秒开始倒计时,然后Rest一下退出循环之外,我已经没有什么想法了。
我只想创建一个包含一些内容的文本文件,如果它无法在几秒钟内写出该文件,则继续(以便触发错误)
if (!is_resource($fh)) {
// some error handling
}
通过文档,我什么也没看到,除了这两种方法,还有没有其他选项可以用来设置一个简单的超时
使用不同的设置:
set_time_limit(10);
set_time_limit限制脚本的最大执行时间。如果达到该值,脚本将返回一个致命错误。默认限制为30秒。
我已经阅读了php的手册页面上的file_get_contents函数,它没有说明任何关于如何file_get_contents行为关于php的文件锁定。然而,在评论部分,用户克里斯建议 file_get_内容通常不考虑PHP的群集锁定,即建议锁定。 您可以使用一些额外的代码来请求共享锁,例如... 我已经成功地测试过了。我还测试了即使文件已锁定专门有可能有另一个php进程通过读取文件,因为注释会
我在使用file\u get\u内容与$\u get组合时遇到问题。例如,我尝试使用文件\u get\u内容加载以下页面: https://bing.com/?q=how 打领带 如果我像这样加载它,页面加载正常: http://localhost/load1.php 然而,当我这样加载它时,我有问题: http://localhost/load2.php?url=https//bing.com/
PHP/Apache2中的文件获取内容是从Facebook获取用户图片。直到最近,它一直运转良好。现在,它总是在一分钟后超时,在我的Apache2 error.log中有以下错误: PHP警告:文件\u获取\u内容(https://graph.facebook.com/999999999/picture?width=200):无法打开流:连接超时 下面是代码(我最近添加了$context以查看它是
描述 (Description) C库函数FILE *fopen(const char *filename, const char *mode)使用给定mode打开filename指向的文件名。 声明 (Declaration) 以下是fopen()函数的声明。 FILE *fopen(const char *filename, const char *mode) 参数 (Parameters)
我有一个问题与PHP脚本在我的网络服务器(Apache/2.4.10在Raspbian),我不能生成一个新的文件。我试过chmod 777(这是非常糟糕的做法),但它仍然不起作用。我已经为此挣扎了几天,即使经过广泛的研究,我也找不到解决这个问题的方法。下面是我的代码和它产生的错误消息: 警告:fopen(newfile.txt):无法打开流:第4行 /var/www/html/handlers/w
我有一种情况,其中两个WebServer是用nginx作为loadbalancer设置的,它们本身是后端。发行版是Debian Wheezy。两台服务器上的配置相同(四核32GB RAM) TCP协议