我正在尝试通过创建一个文件fopen()
如下 :
<?php
$handle = fopen('name.txt', 'w') or die('Can\'t create file');
fwrite($handle, 'Hamed'."\n");
fwrite($handle, 'Kamrava'."\n");
echo 'File was created successfully';
?>
但不创建该文件并让我:
Can't create file
P.S :
我在 Linux/Ubuntu 上使用 LAMP 服务器。
在创建该文件之前我已经尝试过以下命令:
sudo chmod -R 755 ~/public_html/
任何想法,将不胜感激。
PHP 脚本作为为 Apache Web 服务器配置的用户执行。为了创建文件,该用户必须对要在其中创建文件的目录具有写权限。有两种方法可以做到这一点:
您可以向所有用户授予对该目录的写入权限,其中包括为 Apache 配置的任何内容(对于开发计算机来说足够好):
chmod o+w ~/public_html/directory_where_you_want_to_write
Or您可以将目录的所有权传递给 Apache 用户。这将意味着you但是,使用常规用户帐户将无法在此目录中创建或删除文件,除非您也执行上述操作。假设 Apache 运行时www-data
用户帐户,就像 Ubuntu 上的默认情况一样,您可以执行以下操作:
sudo chown www-data ~/public_html/directory_where_you_want_to_write
(并且该目录不必位于public_html
,我只是用它作为示例,因为那似乎是您的文件所在的位置。)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)