我正在尝试通过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'; ?>
但是没有创建该文件并让我:
无法创建文件
P.S:
我在Linux / Ubuntu上使用LAMP服务器.
我在创建该文件之前尝试过以下命令:
sudo chmod -R 755 ~/public_html/
任何想法,将不胜感激.
PHP脚本作为为Apache Web服务器配置的用户执行.要创建文件,此用户必须具有要在其中创建文件的目录的写入权限.有两种方法可以做到这一点:
原文链接:https://www.f2er.com/php/137519.html您可以为所有用户提供目录的写入权限,其中包括为Apache配置的任何内容(对于开发计算机来说足够好):
chmod o+w ~/public_html/directory_where_you_want_to_write
或者,您可以将目录的所有权传递给Apache用户.这意味着您使用常规用户帐户将无法在此目录中创建或删除文件,除非您也执行上述操作.假设Apache使用www-data用户帐户运行,就像默认情况下在Ubuntu上运行一样,您可以:
sudo chown www-data ~/public_html/directory_where_you_want_to_write
(并且目录不必在public_html下,我只是用它作为一个例子,因为它似乎是你的文件所在.)