With the rapid development and popularization of the Internet, website building has become one of the essential skills for many developers and webmasters. As one of the most commonly used web servers, IIS has also attracted the attention and use of developers. However, how to build a PHP website on IIS is a problem that is not easy to solve. Especially when PHP cannot write config in IIS, it is even more of a headache. This article will combine practical experience to introduce in detail how to solve the problem that PHP cannot write config in IIS.
1. Problem background
When using PHP to develop websites in IIS, the function of writing config files is often used. However, in actual operation, we will find that some PHP code cannot be written to the config file, prompting an error message similar to "Failed to open stream: Permission denied". This is because IIS has read-only permissions and no write permissions for all directories and files below the web root directory by default. Therefore, if the PHP code needs to write to the config file, you need to manually set the write permissions of the corresponding directory.
2. Solution
If you want to use PHP to write the config file in IIS, we need to first Authorization of the user where PHP resides. Here we can create a user specifically for writing config files and assign corresponding permissions to avoid security issues.
First, we need to create a user group in the computer management program and give the group read and write permissions. Then, add the user where PHP is located to the user group to achieve the purpose of authorizing PHP to write the config file.
The specific steps are as follows:
1) Open the computer management program and expand "Local Users and Groups";
2) In the user interface, create a new user group and select Named "config-writer";
3) In the "Group" properties, open the "Members" tab, add the user where PHP is located to the group, and save;
4) Open the target In the properties dialog box of the config file, select the "Security" tab, set the "config-writer" user group to share access permissions, and grant write permissions.
In addition to authorizing PHP users, you can also set Web service authorization in IIS to achieve write permissions on the target directory.
The specific steps are as follows:
1) Open IIS Manager, right-click the corresponding site, and select the "Edit Permissions" option;
2) In the dialog box that appears , find the "Security" tab and click the "Edit" button;
3) Enter the user information to be added in the "Add" dialog box and grant write permission.
After the addition is completed, close all dialog boxes and restart the IIS service. Then you can successfully implement the function of PHP writing the config file.
3. Unverified solutions
There are also some unverified solutions that you can try, such as:
1) Modify the permissions of the default IIS user, in Windows resources Find the Website root directory in the manager, right-click and select "Properties", switch to the "Security" tab, add the IIS_IUSRS user group, and grant read/write permissions.
2) Modify the php.ini configuration file, open the disable_functions configuration item and comment out the relevant functions, such as:
disable_functions =
3) Modify the directory where the target config file is located Permissions, giving all users full control permissions to ensure that PHP code has sufficient permissions to write.
The above methods are compiled based on experience. The specific effects vary depending on the environment and may not be applicable to all situations. Therefore, in actual operations, please try with caution and back up relevant files to prevent unexpected errors.
4. Summary
In general, the problem of "IIS PHP cannot write config" seems complicated, but in fact we only need to set the corresponding permissions to solve it. Through the methods introduced in this article, I believe you can successfully solve the problem that PHP cannot write config in IIS. I hope this article can be helpful to website developers and webmasters. We also welcome everyone to share more solutions to help more people in need.
The above is the detailed content of What should I do if iis php cannot write config?. For more information, please follow other related articles on the PHP Chinese website!