PHP가 동적 라이브러리를 로드할 수 없는 문제에 대한 해결 방법: 1. PHP 통합 패키지의 "libmySQL.dll"을 system32 디렉터리에 복사합니다. 2. PHP 압축 해제 디렉터리를 PATH에 추가합니다. 3. Apache 구성 파일에서 다음을 사용합니다. 일부 동적 링크 라이브러리를 로드하는 loadfile입니다.
php에서 동적 라이브러리를 로드하지 못했습니다
PHP의 통합 패키지에는 많은 동적 링크 라이브러리가 포함되어 있지만 지침에 따라 구성했을 때 phpinfo()를 실행한 결과 많은 템플릿이 로드되지 않았습니다. php.ini에서 해당 링크 라이브러리 앞의 주석(;)을 제거했지만.
WAMP를 구성하면서 매우 흥미로운 점을 발견했습니다. mysql 모듈이 로드될 때도 있고 로드되지 않을 때도 있다는 것입니다. 주의 깊게 연구한 결과, mysql이 로드될 수 있는 경우에는 설치 파일을 사용하고, 로드할 수 없는 경우에는 mysql이 대부분 압축된 패키지를 사용한다는 것을 발견했습니다. 두 도시의 차이점은 무엇인가요?
차이점은 설치 패키지를 설치하는 동안 mysql 설치 디렉터리(./MySQL*.*/bin)를 PATH에 추가하도록 선택할 수 있다는 것입니다.
이것은 어떤 영향을 미칠까요? 이 디렉토리에는 PHP 통합 패키지인 libmySQL.dll과 동일한 이름을 가진 파일이 있는 것으로 나타났습니다.
온라인을 검색한 결과 다른 해결 방법이 있는 것을 발견했습니다.
PHP 통합 패키지의 libmySQL.dll을 system32 디렉터리에 복사하세요. 이 디렉터리는 일반적으로 PATH에 있습니다.
PATH를 변경할 필요가 없는 다른 해결 방법이 있습니다. 가장 좋은 방법은 Apache 구성 파일에 문장을 추가하는 것입니다. [loadfile X:/*/libmySQL.dll]은 절대 경로를 사용합니다.
문제의 근본 원인을 찾은 것 같습니다. 다른 모듈에서도 이 방법으로 해결할 수 있나요?
답은 '예, 가능합니다'입니다.
가장 쉬운 방법은 PHP 압축 해제 디렉터리(일반적으로 libmysql.dll, php.exe 등 포함)를 PATH에 추가하는 것입니다.
그런 다음 시스템을 다시 시작하세요. 아파치를 다시 시작하는 것만으로는 작동하지 않으며 phpinfo에서 확인할 수 있습니다. ) "Apache Environment"의 PATH 매개변수를 확인하면 "PATH" 항목이 전혀 변경되지 않은 것을 알 수 있습니다. 시스템을 다시 시작하지 않고도 애플리케이션을 변경할 수 있는지는 아직 모르겠습니다. 말해 주세요.
PATH 변경 및 시스템 재시작을 방지하는 또 다른 방법은 Apache 구성 파일의 loadfile을 사용하여 일부 동적 링크 라이브러리를 로드하는 것입니다.
테스트 후, 내가 아는 모듈과 로드할 동적 링크 라이브러리를 나열했습니다.
PHP模块 运行时要加载的动态链接库 ------------------------------------------------------------ php_fdf.dll ->fdftk.dll php_interbase.dll ->gds32.dll php_pdo_firebird.dll ->gds32.dll php_curl.dll ->ssleay32.dll php_ldap.dll ->ssleay32.dll php_openssl.dll ->ssleay32.dll php_mcrypt.dll ->libmcrypt.dll php_mhash.dll ->libmhash.dll php_msql.dll ->msql.dll php_mssql.dll ->ntwdblib.dll php_pdo_mssql.dll ->ntwdblib.dll php_mysql.dll ->libmysql.dll php_mysqli.dll ->libmysql.dll php_pdo_mysql.dll ->libmysql.dll
로드할 동적 링크 라이브러리는 모두 PHP의 통합 패키지 압축 해제 디렉터리에 있습니다(보통 libmysql.dll, php 포함). .exe 잠깐만요). 이 디렉토리에는 fribidi.dll, libeay32.dll 및 libswish-e.dll의 세 가지 파일이 있습니다. 아직 이 파일들이 어떤 용도로 사용되는지 모르겠습니다. 각 모듈의 이름과 기능에 대해서는 자세히 설명하지 않겠습니다.
권장: "PHP 튜토리얼"
참고: 이 방법은 php5.1.X, php5.2.X 시리즈에 적합하며 php.4X는 테스트되지 않았습니다.
위 내용은 PHP가 동적 라이브러리를 로드할 수 없으면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!