구성 환경은 다음과 같습니다.
Win2003SP2 IIS6 php5.26 mysql5.0.51a zend3.3a PhpMyAdmin2.11.7.1 PHP 실행 모드: isapi. MySQL은 수동으로 설치됩니다.
"잘못된 메모리 위치 액세스" 오류 해결 방법 및 단계 정보: (일부 부분적으로 잘못된 디버깅 단계는 건너뜁니다...)
1. IIS의 오류 표시를 켰지만 오류의 원인을 찾을 수 없습니다!
2. IIS 확장, ISAPI, php.ini 및 Mysql 구성과 해당 설치 디렉터리 ACL 권한이 모두 올바른지 확인하세요.
3. IIS 프로세스를 재활용해도 "잘못된 메모리 위치 액세스" 오류가 계속 나타납니다....
4. php.ini에서 display_startup_errors = On을 켜서 드디어 문제가 발견되었습니다... (참고: php.ini에서 display_startup_errors를 켜면 php에 오류가 있으면 메시지가 표시되고, 이벤트 뷰어에 기록이 있습니다.display_startup_errors = Off로 설정하면 프롬프트가 표시되지 않습니다.)
5. 오류 분석
여섯째, 해결 방법도 매우 간단합니다. php_pdo.dll 파일에 php_sqlite.dll이 로드되지 않기 때문에 phpinfo() 함수를 실행하면 메모리 위치 접근이 유효하지 않다는 메시지가 나타납니다. php.ini 구성 파일을 찾아 ";extension=php_pdo.dll", Extension=php_sqlite.dll
앞의 세미콜론을 제거하세요.
그런 다음 IIS 응용 프로그램 풀 프로세스를 재활용하면 문제가 완전히 해결됩니다.