共计 883 个字符,预计需要花费 3 分钟才能阅读完成。
在 PHP 用使用 fopen 的写入功能实,常会遇到诸如:
PHP Warning: fopen(file): failed to open stream: Permission denied in (filepath) on line (num) 的错误,特别是当在 php.conf 中建立了 virtualhost,并指定了其它的目录的情况下会有可能出现(本人使用 Fedora 20),附本人使用的 virtualhost 配置清单:
<VirtualHost 127.0.0.1:80>
ServerAdmin xqbumu@jx
DocumentRoot /opt/Workspace/PHP/jx
ServerName jx
ErrorLog logs/jx-error_log
CustomLog logs/jx-access_log common
<Directory “/opt/Workspace/PHP/jx/”>
Options Indexes MultiViews FollowSymLinks
AllowOverride All
#Order allow,deny
#Allow from all
#Options None
Require all granted
</Directory>
</VirtualHost>
通过配置 Selinux 可以解决该问题。
本人所用 shell 命令如下:
semanage fcontext -a -t httpd_sys_rw_content_t ‘/opt/Workspace/PHP/jx/application/controllers/temp(/.*)?’
restorecon -v ‘/opt/Workspace/PHP/jx/application/controllers/temp/*’
这样就可以解决在 /opt/Workspace/PHP/jx/application/controllers/temp/ 目录下的读写问题了。
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2015-12/126527.htm