Problem description:
Using PHP script to operate files locally can be successful, but it cannot be placed on the server.
View apache log:
#cd /var/log/httpd #tac error_log
Display:
cannot create directory '_TEST1': Permission denied
Solution:
1. Check the users and user groups configured by apache
#vi /etc/httpd/conf/httpd.conf
# # If you wish httpd to run as a different user or group, you must run # httpd as root initially and it will switch. # # User/Group: The name (or #number) of the user/group to run httpd as. # It is usually good practice to create a dedicated user and group for # running httpd, as with most system services. # User apache Group apache
You can see that User and Group are both apache.
2. Modify the user and permissions of the folder you want to operate, change the user to the same as the apache configuration, and change the permissions to 755
#chown -R apache:apache your_folder #chmod -R 755 your_folder
3. Close SELINUX
#vi /etc/selinux/config #SELINUX=enforcing #注释掉 #SELINUXTYPE=targeted #注释掉 SELINUX=disabled #增加 :wq! #保存退出 #setenforce 0 #使配置立即生效
For more related tutorials, please pay attention to php中文网.
The above is the detailed content of What should I do if the php operation file prompts that there is no permission?. For more information, please follow other related articles on the PHP Chinese website!