Wie kompiliere und installiere ich eine PHP-Erweiterung auf einem Server mit mehreren PHP-Versionen?
Posted: 14 Jan 2025, 10:07
Ich versuche, pcntl wieder zu aktivieren, nachdem ein Update auf meinem Testserver es irgendwie entfernt hat und meine PHP-Anwendung kaputt gemacht hat.
Ich habe
verwendet
um die PHP-Version für die Befehlszeile zu wechseln. Allerdings führt der Befehl „make“ immer noch dazu, dass für einige, aber nicht alle Teile der Kompilierung die falschen Bibliotheken eingebunden werden (der Linker ist böse). Es hat beispielsweise das folgende Durcheinander eines Befehls für eine der Dateien verursacht:
Angesichts der Tatsache, dass die verschiedenen Versionen alle durcheinander und durcheinander sind, überrascht es nicht, dass die Kompilierung fehlschlägt. Wie schaffe ich es, Dinge aus dem richtigen Ordner abzurufen? (Sollte /usr/include/php/20190902 sein)?
Ich könnte mich mit dem Schrecken befassen, der mit der Bibliothekskonfiguration von PHP einhergeht, aber ich frage mich, ob es einen einfachen, effektiven Weg gibt, dies zu tun das.
Ich habe
verwendet
Code: Select all
update-alternatives --set php /usr/bin/php7.4
update-alternatives --set phpize /usr/bin/phpize7.4
Code: Select all
/bin/bash /usr/src/php-7.4.33/ext/pcntl/libtool --mode=compile cc -DHAVE_STRUCT_SIGINFO_T -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1 -I. -I/usr/src/php-7.4.33/ext/pcntl -DPHP_ATOM_INC -I/usr/src/php-7.4.33/ext/pcntl/include -I/usr/src/php-7.4.33/ext/pcntl/main -I/usr/src/php-7.4.33/ext/pcntl -I/usr/include/php/20230831 -I/usr/include/php/20230831/main -I/usr/include/php/20230831/TSRM -I/usr/include/php/20230831/Zend -I/usr/include/php/20230831/ext -I/usr/include/php/20230831/ext/date/lib -DHAVE_CONFIG_H -g -O2 -c /usr/src/php-7.4.33/ext/pcntl/pcntl.c -o pcntl.lo
Ich könnte mich mit dem Schrecken befassen, der mit der Bibliothekskonfiguration von PHP einhergeht, aber ich frage mich, ob es einen einfachen, effektiven Weg gibt, dies zu tun das.