
Ich habe hier schon einige Beiträge zu diesem Problem gesehen, aber ich verstehe immer noch nicht, was mit meinem Setup nicht stimmt. Das hier bekomme ich, wenn ich versuche, irgendetwas mit PHP auszuführen:
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.dll
In dieser ini
Datei wird auf Folgendes verwiesen
Sat Sep 02 - 12:11 PM > cat /etc/php.d/tidy.ini
extension = tidy.dll
Hier ist meine extension_dir
Definition:
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
Die Berechtigungen in diesem Verzeichnis scheinen in Ordnung zu sein.
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
Und wenn ich mir nur die ACLs ansehe tidy.dll
, sehe ich kein Problem.
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
Antwort1
0x0f4d0000 ist eine sehr niedrige Adresse und tidy.dll kollidiert beim Laden an dieser Adresse mit anderen Ressourcen oder mit dem Programm selbst; deshalb konnte es nicht geladen werden.
Da Sie eine 32-Bit-Installation haben, haben Sie zu viele Programme installiert und diese haben den verfügbaren Adressraum erschöpft.
Die DLL-Adresszuweisung beginnt bei 0x6fff... und geht nach unten, Sie haben also alles verbraucht.
Wie der Adressraum aufgeteilt ist, können Sie unter /proc/self/maps
oder unter sehen./proc/<pid>/maps
Mögliche Lösungen:
1. Reduzieren Sie die Anzahl der installierten Programme stark und entfernen Sie alles, was Sie nicht benötigen. Anschließend müssen Sie ein vollständiges Rebase durchführen, siehehttps://cygwin.com/faq.html#faq.using.fixing-fork-failures
oder 2. Wechseln Sie zu einer 64-Bit-Installation
Cygwin bietet mehr als 8000 Pakete, aber es ist unwahrscheinlich, dass Sie mehr als 2000 benötigen.
Aktuelle Diskussion zum gleichen Thema auf der Cygwin-Mailingliste
https://cygwin.com/ml/cygwin/2017-08/msg00265.html