Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/270.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 即使存在写入权限,也未创建文件_Php_File_Permissions_File Permissions - Fatal编程技术网

Php 即使存在写入权限,也未创建文件

Php 即使存在写入权限,也未创建文件,php,file,permissions,file-permissions,Php,File,Permissions,File Permissions,我按照中选择的答案,尝试将内存中某个变量的内容导出到.php文件中。然后,我需要一次生成的php文件 问题是php文件从未被生成。因此,当我试图要求它时,我得到了一个错误(HTTP 500,因为代码依赖于这个变量,并且因为这个文件不存在) 错误日志表明该文件不是必需的,因为没有这样的文件或目录 我试图在其中创建文件的目录具有755个权限 以下是我用于将变量导出到文件的代码: $variable_export = var_export($elasticaObject, true); $variab

我按照中选择的答案,尝试将内存中某个变量的内容导出到.php文件中。然后,我需要一次生成的php文件

问题是php文件从未被生成。因此,当我试图要求它时,我得到了一个错误(HTTP 500,因为代码依赖于这个变量,并且因为这个文件不存在)

错误日志表明该文件不是必需的,因为没有这样的文件或目录

我试图在其中创建文件的目录具有755个权限

以下是我用于将变量导出到文件的代码:

$variable_export = var_export($elasticaObject, true);
$variable = "<?php\n\n\$$elasticaObject = $variable_export;\n\n?>";
file_put_contents('theIndex.php', $variable);
$variable\u export=var\u export($elasticaObject,true);
$variable=“”;
文件内容('theIndex.php',$variable);

你知道我做错了什么,为什么没有生成index.php文件吗?

你的模式可能不够

755=RWX(所有者)、RW(集团和其他人)

组和其他人可能只是读取和跨文件夹

如果启动PHP的用户不是文件夹的所有者,那么这可能是一个问题

在文件夹上尝试一个chown user:group,这样您的php用户(可能是您的Web服务器)就可以在其中写入内容

干杯


K.

文件内容的返回值是多少?
索引.php
是否已经存在?目录可能是755,但是如果index.php已经存在并且由其他用户拥有,那么您仍然无法覆盖它。@andrewsi如何从文件put\u contents获取返回值?@MarcB否,它不存在。@IMUXIxD
$myval=file\u put\u contents('theIndex.php',$variable);var_dump($myval)
将告诉您写入的字节数,如果失败则为false。如何执行chown user:group。您能否更新您的答案,解释如何更新。假设您的目录为“/home/koreth/test”:
chown www-data:www-data/home/koreth/test
。www数据是Debian上Apache的默认用户,应该是其他发行版的其他用户。但我使用的是debian,所以我想你应该在我的评论中将www-data:www-data替换为lighttpd:lighttpd。