I am developing a RESTful web application in PHP. What I have got is:
While the test environment has got no problem, the production server fails to send any RESTful request with pathinfo (i.e., pages like e.g. /mypath/app.php/controller/id
, where the handling script is /mypath/app.php
) and gives a nice blank page with the message:
No input file specified.
Using firebug, I can see the response headers are:
HTTP/1.1 404 Undescribed
Proxy-Connection: close
Connection: close
Via: 1.1 XXXXX
Date: Thu, 23 Jun 2011 14:51:18 GMT
Content-Type: text/html
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET, PHP/5.2.4
Where XXXXX
is the name of the proxy.
I googled around and it seems like neither SO nor the rest of the web can give practical solutions to this problem. Any clue?
Since the production server needs to keep up, reinstalling PHP and/or IIS is not an option. What I can do is modify IIS/PHP configuration, and restart IIS.
Thanks in advance,
Paolo
@hakre posted a good answer, but it was another thing that solved this issue, which I report briefly to save hours of pain to others...
I got rid of the problem by:
php.ini
on the production server, commenting out the doc_root=...
line;services.msc
on the production server, restarted the "World Wide Web Publishing Service";now, all pages work just fine reporting PATH_INFO
correctly.
Thanks for the answers anyway!
If anyone cares, this page illuminated me.
Un-check the Verify that file exists check-box.
That's an option in the Internet Information Services Manager you can find in the Web Sites Properties Home Directory Configuration for the .php
Application Mapping.
Edit the mapping for the website in question and disable the file existance check. Then pathinfo should work as expected.
More Info
try rewrite support using ISAPI_REWRITE(http://www.isapirewrite.com/)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With