$info=file_get_contents(APP_PATH . 'extra' . DS . 'Config.php'); //路径没错,能正常读取
$data = input('post.');
if (isset($data['AllBuckets'])){
$data['Buckets'] = implode(',',$data['AllBuckets']);
unset($data['AllBuckets']);
}
if ($data['cloud'] == 0){
$data['verification'] = 0;
}
foreach($data as $k=>$v){
//正则替换
$info = preg_replace("#\'{$k}\'\=\>\'.*?\'\,#","'{$k}'=>'{$v}',",$info);
}
var_dump(file_put_contents(APP_PATH . 'extra' . DS . 'Config.php',$info));
返回了init(1421),但却没有写入成功
服务器环境CENTOS 7.3
APACHE2.4
PHP7.1.7
目前已查:
/tmp目录为777
网站目录拥有者和apache运行用户一致
网站目录权限为755(尝试改为777无效)
求解是哪里错了?本地windows正常
很有可能就是你的路径错了。但是又返回了写入的字节数,说明是写入了文件,但是因为你的路径错了,写入的是另外一个文件,而不是你期待的文件。file_put_content()执行时如果发现路径中的文件不存在会尝试新建一个文件的。因此建议你把你的路径打印出来看一下是否是你期待的路径。