简体   繁体   中英

PHP can't run exec()

The basic setup I am trying to accomplish is using pdftk with PHP on IIS

I am trying to setup pdftk to run with PHP for processing on our internal server. I have tested that pdftk does work through command on the server but I cannot get it to run through php. I have tried changing from exec() to passthru() , system() , and shell_exec() just to be sure it wasn't specific.

The main solution I'm finding is saying that the IUSR account needs at least read & execute privileges on cmd.exe in the system32 folder. I have tried this and it did not change anything. I always get either "Unable to fork" or "Unable to execute" depending on which command I'm using.

I had this problem. It was caused by conflicting IIS settings in these 2 locations:

  • Application Pool > Advanced Settings > Process Model > Identity
  • Web site > Authentication > Anonymous Authentication

The app pool was set to a domain user. This was correct for how we needed to run our web site.

The web site authentication was set to the same "Specific user" as the application pool. It should have been set to "Application Pool Identity". After I changed it to "Application Pool Identity", exec() ran successfully.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM