Unter Mac OSX Mavericks, die Homebrew PHP55 verwenden, wird bei jedem Ausführen eines PHP-Befehls die folgende Fehlermeldung angezeigt (alles läuft einwandfrei, es ist nur ärgerlich).
PHP Warning: Module 'intl' already loaded in Unknown on line 0
Ich rannte
php --ini
und die Ausgabe war
php --ini
PHP Warning: Module 'intl' already loaded in Unknown on line 0
Warning: Module 'intl' already loaded in Unknown on line 0
Configuration File (php.ini) Path: /usr/local/etc/php/5.5
Loaded Configuration File: /usr/local/etc/php/5.5/php.ini
Scan for additional .ini files in: /usr/local/etc/php/5.5/conf.d
Additional .ini files parsed: /usr/local/etc/php/5.5/conf.d/ext-apcu.ini,
/usr/local/etc/php/5.5/conf.d/ext-igbinary.ini,
/usr/local/etc/php/5.5/conf.d/ext-intl.ini,
/usr/local/etc/php/5.5/conf.d/ext-memcached.ini,
/usr/local/etc/php/5.5/conf.d/ext-mongo.ini,
/usr/local/etc/php/5.5/conf.d/ext-uuid.ini,
/usr/local/etc/php/5.5/conf.d/ext-xdebug.ini
In der Datei php.ini eingecheckt und der einzige Ort, an dem intl geladen wird, ist oben und es ist auskommentiert. Der Inhalt der anderen Dateien sieht ungefähr so aus:
extension="/usr/local/Cellar/php55/5.5.23/lib/php/extensions/no-debug-non-zts-20121212/intl.so"
Dabei ist der Inhalt nach dem letzten Schrägstrich die Erweiterung.
Ich bin mir nicht sicher, wo ich sonst suchen soll.
Jede Hilfe wird geschätzt
.ini
Datei unter demconf.d
Verzeichnis überprüft habe und festgestellt habe, dass sich zwei Zeilenextension=imagick.so
in derselben befinden.imagick.ini
Eine davon wurde entfernt. Es funktioniertAntworten:
Ich denke, Sie haben Xdebug wahrscheinlich zweimal geladen
php.ini
.Überprüfen Sie die
php.ini
, diexdebug.so
für die Werteextension=
und nicht eingestellt habenzend_extension=
.Überprüfen Sie auch
/etc/php5/apache2
und/etc/php5/cli/
. Sie sollten nicht in jedemphp.ini
dieser Verzeichnisse die Erweiterung ladenxdebug.so
. Nur eine Dateiphp.ini
sollte geladen werden.Hinweis: Innerhalb des Pfads befindet sich die Zeichenfolge
/etc/php5
. Die 5 ist die Version von PHP. Wenn Sie also eine andere Version verwenden, erhalten Sie immer einen anderen Pfad, zphp7
.quelle
cli/php.ini
und es zeigt mir immer noch diese Fehler.PHP Warning: PHP Startup: Unable to load dynamic library 'gd2' (tried: /usr/lib/php/20170718/gd2 (/usr/lib/php/20170718/gd2: cannot open shared object file: No such file or directory), /usr/lib/php/20170718/gd2.so (/usr/lib/php/20170718/gd2.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
extension='xhprof.so'
an der Spitzephp.ini file
. und dann war da noch eine Datei bei/usr/local/etc/php/7.2/conf.d/ext-xhprof.ini
. Durch Auskommentieren der Zeilephp.ini
wurde die Warnung entfernt.Ich hatte das gleiche Problem auf dem Mac, dh
Warning: Module 'pdo_pgsql' already loaded in Unknown on line 0
. So habe ich es gelöst.conf.d
, meiner war im Verzeichnis/usr/local/etc/php/7.0/conf.d
.ext-pdo_pgsql.ini
.sudo nano ext-pdo_pgsql.ini
, um es zu bearbeiten.extension="/usr/local/opt/php70-pdo-pgsql/pdo_pgsql.so"
. Kommentieren Sie es aus, indem Sie am Anfang der Zeile ein Semikolon hinzufügen, d;extension="/usr/local/opt/php70-pdo-pgsql/pdo_pgsql.so"
. H.Hoffe das hilft jemandem.
quelle
Sie sollten ein Verzeichnis /etc/php2/conf.d haben (zumindest unter Ubuntu), das eine Reihe von INI-Dateien enthält, die alle geladen werden, wenn PHP ausgeführt wird. Diese Dateien können doppelte Einstellungen enthalten, die mit den Einstellungen in in Konflikt stehen
php.ini
. In meiner PHP-Installation bemerke ich eine Dateiconf.d/20-intl.ini
mit einerextension=intl.so
Einstellung. Ich wette, das ist dein Konflikt.quelle
Um dieses Problem zu beheben, müssen Sie Ihre Datei php.ini (oder extensions.ini) bearbeiten und die bereits kompilierten Erweiterungen auskommentieren. Nach dem Bearbeiten kann Ihre INI-Datei beispielsweise wie folgt aussehen:
Quelle: http://www.somacon.com/p520.php
quelle
In meinem Fall hatte ich die; extension = php_curl.so in php.ini entkoppelt, aber Ubuntu rief diese Erweiterung bereits woanders auf.
Um dies "woanders" zu finden, wird auf php.ini informiert. In meinem Fall war /etc/php/7.1/apache2/conf.d/20-curl.ini der Pfad.
Jetzt bearbeiten wir diese Datei (Terminal):
sudo nano /etc/php/7.1/apache2/conf.d/20-curl.ini
Kommentieren Sie die; extension = php_curl.so
Datei speichern und Apache neu starten:
quelle
Für Shared Hosting habe ich in cPanel das betreffende Modul unter "PHP-Version auswählen"> "Erweiterungen" deaktiviert und der Fehler für PHP 7.4 ist verschwunden.
quelle
Ich hatte das gleiche Problem nach dem Upgrade von Fedora Server 24 (PHP 5) auf 25 (PHP 7) . Nach einer Untersuchung stellte ich fest, dass
/etc/php.d/
zwei verschiedene.ini
Dateien geladen wurdenextension=geoip.so
.In früheren Versionen von Distributionen wurde diese Datei benannt,
50-geoip.ini
aber die letzte wurde in geändert40-geoip.ini
, und ich vermute, dass beim Versions-Upgrade die alte nicht entfernt wurde, während die neue erstellt wurde.Das war der eigentliche Fall des Problems. Streu Nach dem Entfernen
50-geoip.ini
aus/etc/php.d/
und Neustartenhttpd
es funktionierte einwandfrei.quelle
Ich habe die Datei 20-mongo.ini in /etc/php5/cli/conf.d gelöscht und das Problem dadurch behoben.
quelle
For issue related to code igniter project upload, go to the base directory index.php and add this code: if ($_SERVER['SERVER_NAME'] == 'local_server_name') { define('ENVIRONMENT', 'development'); } else { define('ENVIRONMENT', 'production'); } if (defined('ENVIRONMENT')){ switch (ENVIRONMENT){ case 'development': error_reporting(E_ALL); break; case 'testing': case 'production': error_reporting(0); break; default: exit('The application environment is not set correctly.'); } } define('ENVIRONMENT', isset($_SERVER['CI_ENV']) ? $_SERVER['CI_ENV'] : 'development');
quelle
Ich habe dies herausgefunden, indem ich die PHP-Konfiguration gedruckt und nach xml.ini gesucht habe. Beachten Sie in der folgenden Ausgabe, wie xml zweimal geladen wird (zuerst als 20-xml.ini und dann als xml.ini):
$ php -i | grep xml /etc/php.d/20-simplexml.ini, /etc/php.d/20-xml.ini, /etc/php.d/20-xmlwriter.ini, /etc/php.d/30-xmlreader.ini, /etc/php.d/xml.ini xmlrpc_error_number => 0 => 0 xmlrpc_errors => Off => Off libxml Version => 2.9.1 libxml mbstring.http_output_conv_mimetypes => ^(text/|application/xhtml\+xml) => ^(text /|application/xhtml\+xml) xml libxml2 Version => 2.9.1 xmlreader xmlwriter libxslt compiled against libxml Version => 2.9.1
quelle
Es gibt zwei "php_intl.dll" -Dateien in der php.ini-Datei in den Nummernzeilen 872 und 968. Wenn das PHP-Warnmodul 'intl' bereits in unbekannt in Zeile 0 geladen ist, konzentriert sich diese Nachricht auf Ihre CLI. Dann sollten Sie die Semiklon-Präfixe in Zeile 872 entfernen müssen. Ich gehe davon aus, dass dies erledigt wird .....
quelle
Nur zur Veranschaulichung, da es anderen helfen könnte, die Shared Hosting (cPanel) nutzen.
Ich hatte einen Fehler beim Shared Hosting php7.2: Modul 'imagick' wurde bereits in Unknown in Zeile 0 geladen
Am Anfang sagte der Hosting-Anbieter, es sei meine schlechte Konfiguration (mit Yii2.16). Aber nachdem ich ihnen gezeigt hatte, dass das gesamte Internet dieses Problem mit der Serverkonfiguration zusammenhängt, hörten sie mir zu. Nachdem ich bewiesen hatte, dass es auf php7.1 keinen Fehler gab, begannen sie nach dem Fehler zu suchen.
Wie sie mir sagten - der Fehler war auf die Konfiguration in PERL-Modulen oder im PEAR-Paket zurückzuführen, aber sie sagten mir nicht das eigentliche Problem.
Wenn Sie Shared Hosting verwenden, wenden Sie sich an Ihren Anbieter und experimentieren Sie mit PHP-Versionen (sofern Sie diese ändern können).
quelle
Kommentieren Sie diese beiden Zeilen aus
php.ini
;extension=imagick.so ;extension="ixed.5.6.lin"
es sollte das Problem beheben.
quelle
In Windows 10 behebe ich dies durch einen Kommentar wie diesen
quelle
Ich hatte ein ähnliches Problem, das Problem war, dass die Erweiterung intl dupliziert wurde.
Sie können die Datei C: /xampp/php/php.ini einchecken und "intl" finden. In meinem Fall ist extension = intl bereits vorhanden und ich habe erneut gescrollt und eine zweite intl "extension = php_intl.dll" gefunden.
Die Erweiterung muss eine zur Ausführung sein, kann die Erweiterung intl nicht erneut ausführen. Dies zeigt einen Fehler wie diesen "Modul 'intl' bereits geladen".
Ich habe es behoben, indem ich
extension=php_intl.dll
";
" so auskommentiert habe;extension=php_intl.dll
. und startete den Apache-Dienst neu.quelle