PHP 경고: PHP 시작: 동적 라이브러리를 로드할 수 없습니다.

PHP 경고: PHP 시작: 동적 라이브러리를 로드할 수 없습니다.

이 문제에 대한 많은 게시물을 여기에서 보았지만 아직 내 설정에 어떤 문제가 있는지 이해하지 못했습니다. PHP로 무엇이든 실행하려고 하면 다음과 같은 결과가 나옵니다.

Sat Sep 02 - 12:11 PM > php -version
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php/20151012/tidy.dll' - No such file or directory in Unknown on line 0
PHP 7.0.19 (cli) (built: May 14 2017 03:08:04) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies

tidy.dllini파일 에서 참조 됩니다 .

Sat Sep 02 - 12:11 PM > cat /etc/php.d/tidy.ini
extension = tidy.dll

extension_dir정의는 다음과 같습니다.

Sat Sep 02 - 12:12 PM > php -i | grep extension_dir
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php/20151012/tidy.dll' - No such file or directory in Unknown on line 0
extension_dir => /usr/lib/php/20151012 => /usr/lib/php/20151012

해당 디렉토리의 권한은 괜찮은 것 같습니다.

Sat Sep 02 - 12:12 PM > ls -la /usr/lib/php/20151012
total 2228
drwxr-xr-x+ 1 RobertMarkBram None      0 Aug 31 21:20 .
drwxr-xr-x+ 1 RobertMarkBram None      0 Apr 13 15:25 ..
-rwxr-xr-x  1 RobertMarkBram None  15389 May 14 18:27 ctype.dll
-rwxr-xr-x  1 RobertMarkBram None  81949 May 14 18:27 curl.dll
-rwxr-xr-x  1 RobertMarkBram None  76829 May 14 18:27 gd.dll
-rwxr-xr-x  1 RobertMarkBram None 956957 May 14 18:27 imap.dll
-rwxr-xr-x  1 RobertMarkBram None 426013 May 14 18:27 intl.dll
-rwxr-xr-x  1 RobertMarkBram None  36381 May 14 18:27 json.dll
-rwxr-xr-x  1 RobertMarkBram None  35357 May 14 18:27 mcrypt.dll
-rwxr-xr-x  1 RobertMarkBram None 110621 May 14 18:27 mysqli.dll
-rwxr-xr-x  1 RobertMarkBram None  27165 May 14 18:27 pdo_mysql.dll
-rwxr-xr-x  1 RobertMarkBram None 271389 May 14 18:27 phar.dll
-rwxr-xr-x  1 RobertMarkBram None  19485 May 14 18:27 pspell.dll
-rwxr-xr-x  1 RobertMarkBram None  10781 May 14 18:27 recode.dll
-rwxr-xr-x  1 RobertMarkBram None  43549 May 14 18:27 tidy.dll
-rwxr-xr-x  1 RobertMarkBram None  21021 May 14 18:27 tokenizer.dll
-rwxr-xr-x  1 RobertMarkBram None  81949 May 14 18:27 xmlrpc.dll
-rwxr-xr-x  1 RobertMarkBram None  27677 May 14 18:27 xsl.dll

그리고 에 대한 ACL을 보면 tidy.dll문제가 없습니다.

Sat Sep 02 - 12:13 PM > getfacl /usr/lib/php/20151012/tidy.dll
# file: /usr/lib/php/20151012/tidy.dll
# owner: RobertMarkBram
# group: None
user::rwx
group::r-x
other:r-x

답변1

0x0f4d0000은 매우 낮은 주소이고 tidy.dll이 해당 주소에서 로드하기 위해 다른 리소스나 프로그램 자체와 충돌합니다. 그래서 로드에 실패했습니다.

32비트 설치에서는 너무 많은 프로그램이 설치되어 있어 사용 가능한 주소 공간이 고갈되었습니다.
DLL 주소 할당은 0x6fff....에서 시작하여 아래로 내려가므로 모두 사용했습니다.

주소 공간이 할당되는 방법을 보거나 볼 수 있습니다 /proc/self/maps./proc/<pid>/maps

가능한 해결 방법:
1 설치된 프로그램 수를 많이 줄이고 필요하지 않은 모든 것을 제거합니다. 그런 다음 전체 리베이스를 트리거해야 합니다.https://cygwin.com/faq.html#faq.using.fixing-fork-failures
또는 2 64비트 설치로 이동

Cygwin은 8000개 이상의 패키지를 제공하지만 2000개 이상이 필요할 가능성은 거의 없습니다.

cygwin 메일링 리스트에서 동일한 문제에 대한 최근 토론
https://cygwin.com/ml/cygwin/2017-08/msg00265.html

관련 정보