开发者

How to diagnose an internal server error (HTTP 500) from a PHP page in IIS 7.5

开发者 https://www.devze.com 2023-02-20 21:32 出处:网络
I am trying to get a trial copy of the aMember membership management system running on my local dev machine, which is Windows 7 64-bit with IIS 7.5.I have MySQL 5.5.10 and PHP 5.3.6, the latter which

I am trying to get a trial copy of the aMember membership management system running on my local dev machine, which is Windows 7 64-bit with IIS 7.5. I have MySQL 5.5.10 and PHP 5.3.6, the latter which I installed using the Windows installer package. It seems fine.

The aMember package has a tester.php script which I ran, and it gave an 'OK' result, despite its output being full of error messages related to Function eregi() is deprecated. I then ran the setup.php script, which seemed to run properly. It took me through one or two screens of gathering e.g. login information for MySQL, and then said it was completed and offere开发者_开发技巧d me links to some aMember admin pages. None of these links work, and clicking any of them results in an Internal Server error (HTTP 500): An unexpected condition was encountered while the server was attempting to fulfill the request.

What can I do to further diagnose this error, short of placing lots of diagnostic writes in the php pages themselves? Tools at my disposal are Aptana Studio and Visual Studio, although I doubt the latter is any use here. I have logged the issue with aMember support, who quickly asked for my server logs, and then disappeared.


My first port of call here would be to enable Failed Request Tracing:

Troubleshooting Failed Requests Using Tracing in IIS 7
Troubleshoot with Failed Request Tracing

I am also suspicious about your PHP install. As a rule of thumb never use the installers. They never seem to do the right thing.

I would tear down your PHP install and start from scratch using these steps:

Using FastCGI to Host PHP Applications on IIS 7

FastCGI + the Non-threadsafe build of PHP (5.2 or 5.3) is the definitive way to install and configure PHP on IIS7.


The aMember trial software uses encoded PHP which requires IonCube to decode. I had installed this, but it seems the installation had failed, as a subsequent installation remedied the problem. I was initially stumped because after installing IonCube, I ran the aMember test script which told me IonCube was installed. aMember support responded that:

unfortunately tester script is not handle situation with dynamic loading correctly. PHP from 5 version do not allow to load libraries dynamically if these libraries are not in php lib folder. So you have to install IonCube or Zend into server php.ini'

I don't know why that can't build a warning into the test script.

0

精彩评论

暂无评论...
验证码 换一张
取 消