
Ich habe PHP 5.3.8 aus dem Quellcode auf Ubuntu Natty installiert. Ich habe während der Konfiguration auch FPM aktiviert.
Ich habe jedoch Probleme beim Installieren von PHP-Erweiterungen. Wenn ich die Erweiterung zu meiner php.ini-Datei hinzufüge (zB extension=apc.so
) und PHP neu starte (zB /etc/init.d/php-fpm restart
), erhalte ich eine Fehlermeldung wie die folgende:
Starting php-fpm PHP Warning: Module 'apc' already loaded in Unknown on line 0
<br />
<b>Warning</b>: Module 'apc' already loaded in <b>Unknown</b> on line <b>0</b><br />
PHP Warning: Module 'geoip' already loaded in Unknown on line 0
<br />
<b>Warning</b>: Module 'geoip' already loaded in <b>Unknown</b> on line <b>0</b><br />
PHP Warning: Module 'imagick' already loaded in Unknown on line 0
<br />
<b>Warning</b>: Module 'imagick' already loaded in <b>Unknown</b> on line <b>0</b><br />
PHP Warning: Module 'memcache' already loaded in Unknown on line 0
<br />
Meine PHP-FPM-Konfiguration hat die Einstellung pm.start_servers = 5
, daher sind bei mir etwa 5 PHP-FPM-Worker aktiv. Versuchen sie alle, die Datei php.ini zu laden, wenn ich PHP neu starte (daher die Meldung, dass das Modul bereits geladen wurde)?! Wenn ja, gibt es eine Möglichkeit, dies zu verhindern, um die Fehler zu stoppen, da sie beim Laden von Zend Loader fatal werden?
Dank im Voraus.
Antwort1
Ich habe das früher auf StackOverflow gelöst. Hier ist der Link zu den Informationen.
Lädt jeder PHP-FPM-Worker php.ini einzeln?
Prost.
Antwort2
Welche .ini-Dateien verwendet werden, zeigt Ihnen der folgende Befehl:
ubuntu@server:~$ php --ini
Configuration File (php.ini) Path: /usr/local/etc
Loaded Configuration File: /usr/local/etc/php-cli.ini
Scan for additional .ini files in: /usr/local/etc/php
Additional .ini files parsed: /usr/local/etc/php/apc.ini,
/usr/local/etc/php/memcache.ini,
/usr/local/etc/php/xhprof.ini
Dies sollte Ihnen bei der Fehlerbehebung helfen.
Meistens möchten Sie nicht php.ini
direkt bearbeiten, sondern die Konfiguration überschreiben/erweitern, indem Sie zusätzliche INI-Dateien in einem Verzeichnis platzieren ( /usr/local/etc/php
in meinem Beispiel).
Wenn dies nicht festgelegt/verfügbar ist, müssen Sie Ihren ./configure
Befehl anpassen, um ihn einzuschließen --with-config-file-scan-dir
.
Übrigens,dotdebkönnte für Sie die bessere Option sein.