Skip to main content

Php unter Cygwin – error while loading shared libraries

·282 words·2 mins

INIT
#

Eigentlich wollte ich nur kurz ausprobieren, wie sich php unter cygwin verhält.

PHP ist leider nicht direkt über Cygwin verfügbar. Dank des Cygwin Ports project kann php recht einfach installiert werden. Am allereinfachsten geht dieses mittels apt-cyg (Dazu muss ich mal einen eigenen Beitrag verfassen).

apt-cyg -m ftp://ftp.cygwinports.org/pub/cygwinports install php

Dieses hat php wie gewünscht installiert. Das Problem war aber das ich bei testen folgende Fehlermeldung bekam.

tuxinaut::tuxi-win7-test { ~ }-> php
/usr/bin/php.exe: error while loading shared libraries: ?: cannot open shared object file: No such file or directory

Lösung
#

Sehr unerfreulich :/ Nach ein wenig suchen, mittels ldd erst für /bin/php selbst und den abhängigen dlls zeigte sich folgendes Bild.

tuxinaut::tuxi-win7-test { ~ }-> ldd /usr/bin/cygphp5.dll
    ntdll.dll => /cygdrive/c/Windows/SysWOW64/ntdll.dll (0x77210000)
    kernel32.dll => /cygdrive/c/Windows/syswow64/kernel32.dll (0x756b0000)
    KERNELBASE.dll => /cygdrive/c/Windows/syswow64/KERNELBASE.dll (0x74f40000)
    ??? => ??? (0x6abc0000)
    ??? => ??? (0x68b80000)
    ??? => ??? (0x61000000)
    ??? => ??? (0x694c0000)
    ??? => ??? (0x6c140000)

Nach einer weiteren Suche (sorry habe die Quelle verlegt) stellte sich heraus das das Paket pcre fehlte. Warum das so ist kann ich nicht nachvollziehen. Es ist auch nicht als Abhängigkeit für php eingetragen BUG?

apt-cyg -m ftp://cygwin.mirrors.pair.com install libpcre

Nachdem dieses nachinstalliert wurde lief php wie erwartet.

tuxinaut::tuxi-win7-test { ~ }->php -v
PHP 5.4.18 (cli) (built: Aug 18 2013 03:02:39)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies

1. Update
#

Ich konnte mir damals schon nicht vorstellen warum das so sein sollte. Nun ist mir aber schon vor längeren bewusst geworden, warum die Abhängigkeit nicht installiert worden ist. Das Apt-Cyg Script kann zur Zeit nur mit einer Quelle umgehen, Abhängigkeiten aus den normalen Quellen werden also nicht installiert.

Quellen
#

Reply by Email
Denny Schäfer
Author
Denny Schäfer