Nein, aber es gibt Tools, mit denen Sie die Konfiguration analysieren und ändern können (z awk. B. ).
Jordan
1
lassen Sie uns einfach wissen, was Sie konfigurieren, um die Erweiterung in php.ini zu deaktivieren, damit wir es einfach über die Befehlszeile machen können
Rahul Patil
@ RahulPatil Ich kommentiere nur extension=x.so, um x zu deaktivieren.
PHPst
Antworten:
27
Wenn Sie PHP5.4 + in einer Debian-basierten Distribution verwenden, können Sie mit php5enmod PHP-Erweiterungen aktivieren und mit php5dismod PHP-Erweiterungen deaktivieren.
Beachten Sie, dass dies funktioniert, indem Sie Links in /etc/php5/{apache2,cli,...}/conf.d/ hinzufügen / entfernen
Pierre-Olivier Vares
1
@ Pierre-OlivierVares Dieser Kommentar war die wirklich relevante Information hier.
Xatenev
14
Sie können eine Erweiterung über die Befehlszeile aktivieren, indem Sie Folgendes verwenden:
php -d extension=/path/to/extension.so
-dwird verwendet, um INI-Werte über die Befehlszeile zu übergeben. Leider gibt es keine Möglichkeit, eine Erweiterung in der Befehlszeile zu deaktivieren, wenn sie in der php.iniDatei konfiguriert wurde . (Sie können natürlich den anderen Antworten folgen, aber es gibt nichts, was Sie mit -doder mit welcher Option des phpBefehls tun können .)
Die Ergebnisliste fehlte pdo_sqlite.ini. Wir müssen es installieren.
$ sudo apt-get install php5-sqlite
Oder für PHP7:
$ sudo apt-get install php7-sqlite3
Erweiterung sqlite3wird automatisch aktiviert in CLI und in Apache während der Installation, und wir haben jetzt mods-available: pdo_sqlite.ini, sqlite3.ini.
Sie können angeben -n, dass keine Erweiterungen geladen werden sollen php.ini. Dies kann die Leistung verbessern, wenn Sie einige verwenden (z. B. XDebug). Z.B
Gibt es eine Möglichkeit, das Laden einer Erweiterung (wie memcached) auf einem gehosteten Server zu verhindern, obwohl diese ursprünglich eingerichtet wurde? Ich kontrolliere nicht mein Host-Setup, sondern nur die darauf befindlichen Skripte. Ich vermute, es ist irgendwie durcheinander mit meinen Sitzungen und möchte sicherstellen, dass es ausgeschaltet ist, da ich es nicht wirklich benutze ..
userfuser
3
Sie müssen -njede benötigte Erweiterung mit und dann mit anhängen-dextension
awk
. B. ).extension=x.so
, um x zu deaktivieren.Antworten:
Wenn Sie PHP5.4 + in einer Debian-basierten Distribution verwenden, können Sie mit php5enmod PHP-Erweiterungen aktivieren und mit php5dismod PHP-Erweiterungen deaktivieren.
quelle
Sie können eine Erweiterung über die Befehlszeile aktivieren, indem Sie Folgendes verwenden:
-d
wird verwendet, um INI-Werte über die Befehlszeile zu übergeben. Leider gibt es keine Möglichkeit, eine Erweiterung in der Befehlszeile zu deaktivieren, wenn sie in derphp.ini
Datei konfiguriert wurde . (Sie können natürlich den anderen Antworten folgen, aber es gibt nichts, was Sie mit-d
oder mit welcher Option desphp
Befehls tun können .)quelle
Auf Lubuntu brauchte ich
pdo_sqlite
.Manuell aktivieren:
Wenn es nicht funktioniert, überprüfen Sie:
Die Ergebnisliste fehlte
pdo_sqlite.ini
. Wir müssen es installieren.Oder für PHP7:
Erweiterung
sqlite3
wird automatisch aktiviert in CLI und in Apache während der Installation, und wir haben jetztmods-available
:pdo_sqlite.ini
,sqlite3.ini
.Erweiterung deaktivieren mit:
quelle
Sie können angeben
-n
, dass keine Erweiterungen geladen werden sollenphp.ini
. Dies kann die Leistung verbessern, wenn Sie einige verwenden (z. B. XDebug). Z.Bquelle
Sie müssen
-n
jede benötigte Erweiterung mit und dann mit anhängen-dextension
Beispiel:
quelle
Sie können einfach verwenden
-i.bkp Backup als php.php.bkp erstellen und in die Originaldatei schreiben
&& Wenn der erste Befehl erfolgreich ist, laden Sie den httpd-Dienst neu.
aber ich stelle nur fest, dass sed den Exit-Status 0 gibt, wenn das Suchmuster nicht übereinstimmt, damit Sie es verwenden können
Oder Sie können das folgende Skript zum Aktivieren und Deaktivieren verwenden:
quelle
conf.d/*.ini
Dateien hinzugefügt werden. Möglicherweise müssen einige Änderungen vorgenommen werden?Verwendung: phpenmod [-v ALL | PHP-Version] [-s ALL | SAPI-Name] Modulname [Modulname_2]
Verwenden Sie also phpenmod -s cli yourextension
quelle
Bitte prüfen Sie das
Alle installierten Konfigurationsdateien für PHP-Module sind im Verzeichnis / etc / php / PHP_VERSION / mods-available verfügbar
quelle