php – fopen()无法在linux上创建文件

前端之家收集整理的这篇文章主要介绍了php – fopen()无法在linux上创建文件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试通过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服务器配置的用户执行.要创建文件,此用户必须具有要在其中创建文件的目录的写入权限.有两种方法可以做到这一点:

您可以为所有用户提供目录的写入权限,其中包括为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下,我只是用它作为一个例子,因为它似乎是你的文件所在.)

原文链接:https://www.f2er.com/php/137519.html

猜你在找的PHP相关文章