Heim Backend-Entwicklung PHP-Tutorial Lösen Sie Xdebug-Konflikte in der Composer-Laufzeit

Lösen Sie Xdebug-Konflikte in der Composer-Laufzeit

Sep 08, 2016 am 08:43 AM

Composer ist eine gute Nachricht für PHPer, aber manchmal bereitet es uns ein paar kleine Probleme, wie zum Beispiel den folgenden Fehler:

You are running composer with xdebug enabled. This has a major impact on runtime performance. 
See https://getcomposer.org/xdebug
Nach dem Login kopieren

Lösen Sie Xdebug-Konflikte in der Composer-Laufzeit

Dies kommt sehr häufig vor Konflikte, und die Auswirkungen dieses Konflikts auf den Composer-Betrieb sind ziemlich groß. Wenn wir die Xdebug-Funktion aktivieren, wird sie unseren Composer-Betrieb um das Drei- bis Vierfache verlangsamen. Mit anderen Worten: xdebug ist für das Debuggen unseres Programms sehr wichtig, erhöht jedoch die Speichernutzung und die Verarbeitungszeit für Composer.

Die offizielle Composer-Website bietet eine Lösung

Lassen Sie mich über meine Ideen zur Fehlerbehebung sprechen.

Methode 1: Deaktivieren Sie Xdebug global über die PHP-Konfigurationsdatei.

Zuallererst ist dies definitiv ein Konflikt, der durch die Aktivierung von Xdebug verursacht wird. Wir müssen herausfinden, wo Xdebug aktiviert ist.

Schreiben Sie eine Seite mit der Funktion phpinfo() und öffnen Sie sie im Browser.

Lösen Sie Xdebug-Konflikte in der Composer-Laufzeit

配置参数
Configuration File (php.ini) Path/usr/local/etc/php/5.6
Loaded Configuration File/usr/local/etc/php/5.6/php.ini
Scan this dir for additional .ini files/usr/local/etc/php/5.6/conf.d
Additional .ini files parsed/usr/local/etc/php/5.6/conf.d/ext-igbinary.ini, /usr/local/etc/php/5.6/conf.d/ext-mcrypt.ini, /usr/local/etc/php/5.6/conf.d/ext-redis.ini, /usr/local/etc/php/5.6/conf.d/ext-xdebug.ini

可见 php 调用了 php.ini 配置文件和 conf.d 目录里面的所有 ini 配置文件。

禁用 php.ini 中的 "xdebug" 模块

用分号注释掉调用语句:

;zend_extension = "/path/to/my/xdebug.so"
Nach dem Login kopieren

去除 Xdebug 相关的配置文件

如果 Xdebug 的调用不在主配置文件 php.ini 中,那么有可能在扩展配置文件夹中,比如我的环境就是如此,见上图表:

我们可以将 conf.d/ext-xdebug.ini 重命名为 ext-xdebug.bak 或者删除。这样 php 服务重启就不会调用了。当面,我们也可以参照上面的步骤,在 conf.d/ext-xdebug.ini 中将相应的 Xdebug 语句注释掉,效果相同。

方法2:通过给 composer 设置别名防止调用 Xdebug

设置别名的需要了解你自己在哪个 shell 环境下,我的机子用的是 zsh ,所以编辑 .zshrc 这个文件即可。

➜  ~ cd
➜  ~ vi .zshrc
Nach dem Login kopieren

然后根据下面两种情况选择一种方式设置你的别名,或者设置 两个别名 。

调用不含 Xdebug 模块的配置文件

对于 Xdebug 调用在 php.ini 中的情况,我们可以通过复制一份不含 Xdebug 的配置文件(xdebug-disabled-php.ini),然后建立以下别名:

alias comp='php -c /path/to/xdebug-disabled-php.ini /path/to/composer.phar'
Nach dem Login kopieren

不调用任何 php 配置文件

这种方式可以解决像我一样已经将一些扩展配置路径编译进 php 的情况:

/path/to 为你实际的文件或命令路径

OK ,现在我们执行 composer -V 试试,是否还有错误提示出现。

Lösen Sie Xdebug-Konflikte in der Composer-Laufzeit

Good,完美解决。

以上就是解决 Composer 运行时的 Xdebug 冲突的内容,更多相关内容请关注PHP中文网(www.php.cn)!


Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Erweiterte Funktionen von Composer: Aliase, Skripte und Konfliktlösung Erweiterte Funktionen von Composer: Aliase, Skripte und Konfliktlösung Jun 03, 2024 pm 12:37 PM

Composer bietet erweiterte Funktionen, darunter: 1. Aliase: Definieren Sie praktische Namen für Pakete zur wiederholten Bezugnahme. 2. Skripte: Führen Sie benutzerdefinierte Befehle aus, wenn Sie Pakete installieren/aktualisieren, die zum Erstellen von Datenbanktabellen oder zum Kompilieren von Ressourcen verwendet werden , Zufriedenheitsbeschränkungen und Paketaliase lösen die unterschiedlichen Anforderungen mehrerer Pakete für dieselbe Abhängigkeitsversion auf, um Installationskonflikte zu vermeiden.

Agile Entwicklung und Betrieb der PHP-Microservice-Containerisierung Agile Entwicklung und Betrieb der PHP-Microservice-Containerisierung May 08, 2024 pm 02:21 PM

Antwort: PHP-Microservices werden mit HelmCharts für eine agile Entwicklung bereitgestellt und mit DockerContainer für Isolation und Skalierbarkeit in Containern verpackt. Detaillierte Beschreibung: Verwenden Sie HelmCharts, um PHP-Microservices automatisch bereitzustellen, um eine agile Entwicklung zu erreichen. Docker-Images ermöglichen eine schnelle Iteration und Versionskontrolle von Microservices. Der DockerContainer-Standard isoliert Microservices und Kubernetes verwaltet die Verfügbarkeit und Skalierbarkeit der Container. Verwenden Sie Prometheus und Grafana, um die Leistung und den Zustand von Microservices zu überwachen und Alarme und automatische Reparaturmechanismen zu erstellen.

Was sind die gängigen Methoden zum Konvertieren von Arrays in Objekte in PHP? Was sind die gängigen Methoden zum Konvertieren von Arrays in Objekte in PHP? Apr 28, 2024 pm 10:54 PM

So konvertieren Sie ein PHP-Array in ein Objekt: Verwenden Sie die Klasse stdClass, verwenden Sie die Funktion json_decode(), verwenden Sie eine Bibliothek eines Drittanbieters (z. B. die Klasse ArrayObject, die Bibliothek Hydrator).

PHP-Code-Versionskontrolle und Zusammenarbeit PHP-Code-Versionskontrolle und Zusammenarbeit May 07, 2024 am 08:54 AM

PHP-Code-Versionskontrolle: Es gibt zwei Versionskontrollsysteme (VCS), die üblicherweise in der PHP-Entwicklung verwendet werden: Git: verteiltes VCS, bei dem Entwickler Kopien der Codebasis lokal speichern, um die Zusammenarbeit und Offline-Arbeit zu erleichtern. Subversion: Zentralisiertes VCS, die einzige Kopie der Codebasis wird auf einem zentralen Server gespeichert und bietet so mehr Kontrolle. VCS hilft Teams, Änderungen zu verfolgen, zusammenzuarbeiten und auf frühere Versionen zurückzusetzen.

Wie verwende ich den Redis-Cache bei der PHP-Array-Paginierung? Wie verwende ich den Redis-Cache bei der PHP-Array-Paginierung? May 01, 2024 am 10:48 AM

Durch die Verwendung des Redis-Cache kann die Leistung des PHP-Array-Pagings erheblich optimiert werden. Dies kann durch die folgenden Schritte erreicht werden: Installieren Sie den Redis-Client. Stellen Sie eine Verbindung zum Redis-Server her. Erstellen Sie Cache-Daten und speichern Sie jede Datenseite in einem Redis-Hash mit dem Schlüssel „page:{page_number}“. Rufen Sie Daten aus dem Cache ab und vermeiden Sie teure Vorgänge auf großen Arrays.

Die Rolle von PHP CI/CD in DevOps-Projekten Die Rolle von PHP CI/CD in DevOps-Projekten May 08, 2024 pm 09:09 PM

PHPCI/CD ist eine Schlüsselpraxis in DevOps-Projekten, die die Erstellungs-, Test- und Bereitstellungsprozesse automatisiert und dadurch die Entwicklungseffizienz und Softwarequalität verbessert. Eine typische PHPCI/CD-Pipeline besteht aus den folgenden Phasen: 1) Kontinuierliche Integration: Immer wenn sich der Code ändert, wird der Code automatisch erstellt und getestet. 2) Kontinuierliche Bereitstellung: Beschleunigen Sie die Bereitstellung, indem Sie getesteten und integrierten Code automatisch in der Produktionsumgebung bereitstellen. Durch die Implementierung der PHPCI/CD-Pipeline können Sie die Entwicklungseffizienz steigern, die Softwarequalität verbessern, die Markteinführungszeit verkürzen und die Zuverlässigkeit verbessern.

Visualisierungstechnologie der PHP-Datenstruktur Visualisierungstechnologie der PHP-Datenstruktur May 07, 2024 pm 06:06 PM

Es gibt drei Haupttechnologien zur Visualisierung von Datenstrukturen in PHP: Graphviz: ein Open-Source-Tool, das grafische Darstellungen wie Diagramme, gerichtete azyklische Diagramme und Entscheidungsbäume erstellen kann. D3.js: JavaScript-Bibliothek zum Erstellen interaktiver, datengesteuerter Visualisierungen, zum Generieren von HTML und Daten aus PHP und zum anschließenden Visualisieren auf der Clientseite mithilfe von D3.js. ASCIIFlow: Eine Bibliothek zur Erstellung textueller Darstellungen von Datenflussdiagrammen, geeignet zur Visualisierung von Prozessen und Algorithmen.

Wie verwende ich PHP CI/CD für eine schnelle Iteration? Wie verwende ich PHP CI/CD für eine schnelle Iteration? May 08, 2024 pm 10:15 PM

Antwort: Verwenden Sie PHPCI/CD, um eine schnelle Iteration zu erreichen, einschließlich der Einrichtung von CI/CD-Pipelines sowie automatisierten Test- und Bereitstellungsprozessen. Richten Sie eine CI/CD-Pipeline ein: Wählen Sie ein CI/CD-Tool aus, konfigurieren Sie das Code-Repository und definieren Sie die Build-Pipeline. Automatisierte Tests: Schreiben Sie Unit- und Integrationstests und verwenden Sie Test-Frameworks, um das Testen zu vereinfachen. Praktischer Fall: Verwendung von TravisCI: Installieren Sie TravisCI, definieren Sie die Pipeline, aktivieren Sie die Pipeline und sehen Sie sich die Ergebnisse an. Implementieren Sie Continuous Delivery: Wählen Sie Bereitstellungstools aus, definieren Sie Bereitstellungspipelines und automatisieren Sie die Bereitstellung. Vorteile: Verbessern Sie die Entwicklungseffizienz, reduzieren Sie Fehler und verkürzen Sie die Lieferzeit.

See all articles