我想用PHP编写文本文件。
我可以在Windows平台上使用fopen和fwrite功能编写它。但是,该程序无法在Linux平台上编写。
有什么解决办法吗?
fopen
和fwrite
在Linux上的工作原理完全相同,但可能存在权限问题。要解决此问题,您需要检查:
- 运行PHP的用户(在普通的Apache/PHP安装中,这通常是
www-data
) - 您尝试写入的目录的权限和所有权
您需要的是PHP/Apache用户对目录的写入权限。实现这一点的最简单(也是最脏)的方法是只使目录世界可写(chmod o+w the_dir
),但这是非常不安全的,允许任何有权访问系统的人在那里存储内容。一个更好的解决方案是让PHP用户成为目录的所有者,并指定权限700(或者755,如果你希望它是世界可读的),或者创建一个新组,将PHP用户和你自己放在该组中,在目录上设置组,并在目录上设置权限770(775用于世界可读性)。
它应该可以工作,请检查用户对目录和/或文件的权限。您总是可以尝试将此程序写入/tmp/my.log,它应该可以工作)
当然,您可以在Linux上使用相同的fopen和fwrite函数。
唯一特别的是,写入它的文件夹(或者至少是文件本身)必须被授予写入权限。
测试它的一个简单方法是将文件权限(或其文件夹)设置为777。
fopen和fwrite都适用于SO。
很可能您的许可被拒绝了。试着在linux上对你的文件进行写操作
您可以使用php chmod
函数