linux - 怎样让 php 在 cli 与 fpm 环境下运行时加载不同的扩展 ?
问题:
由于开启了 xdebug 扩展, 导致使用 composer 时提示:
<code>You are running composer with xdebug enabled. This has a major impact on runtime performance. See https://getcomposer.org/xdebug </code>
所以想在 cli 下不再加载 xdebug
环境:
linux 为 archlinux
php 通过 pacman 安装, 版本 7.0.1
web服务通过 php-fpm 运行
配置文件分布:
<code>/etc/php ├── conf.d │ └── xdebug.ini ├── fpm.d ├── pear.conf ├── php-fpm.conf ├── php-fpm.d │ └── www.conf ├── php.ini └── php.ini.pacnew </code>
对比 ubuntu 下 通过 apt 安装的 php 配置文件分布:
<code>/etc/php5/ ├── cli │ ├── conf.d │ └── php.ini ├── fpm │ ├── conf.d │ │ ├── 20-xdebug.ini -> ../../mods-available/xdebug.ini │ ├── php-fpm.conf │ ├── php.ini │ └── pool.d │ └── www.conf └── mods-available └── xdebug.ini </code>
---update ---
https://launchpadlibrarian.net/92790964/buildlog_ubuntu-hardy-amd64.php5_5.2.4-2ubuntu5.23_BUILDING.txt.gz
https://projects.archlinux.org/svntogit/packages.git/tree/trunk/PKGBUILD?h=packages/php
在不自行编译安装,重新指定各项config参数
的情况下, 也只好手动指定 php.ini 运行了
回复内容:
问题:
由于开启了 xdebug 扩展, 导致使用 composer 时提示:
<code>You are running composer with xdebug enabled. This has a major impact on runtime performance. See https://getcomposer.org/xdebug </code>
所以想在 cli 下不再加载 xdebug
环境:
linux 为 archlinux
php 通过 pacman 安装, 版本 7.0.1
web服务通过 php-fpm 运行
配置文件分布:
<code>/etc/php ├── conf.d │ └── xdebug.ini ├── fpm.d ├── pear.conf ├── php-fpm.conf ├── php-fpm.d │ └── www.conf ├── php.ini └── php.ini.pacnew </code>
对比 ubuntu 下 通过 apt 安装的 php 配置文件分布:
<code>/etc/php5/ ├── cli │ ├── conf.d │ └── php.ini ├── fpm │ ├── conf.d │ │ ├── 20-xdebug.ini -> ../../mods-available/xdebug.ini │ ├── php-fpm.conf │ ├── php.ini │ └── pool.d │ └── www.conf └── mods-available └── xdebug.ini </code>
---update ---
https://launchpadlibrarian.net/92790964/buildlog_ubuntu-hardy-amd64.php5_5.2.4-2ubuntu5.23_BUILDING.txt.gz
https://projects.archlinux.org/svntogit/packages.git/tree/trunk/PKGBUILD?h=packages/php
在不自行编译安装,重新指定各项config参数
的情况下, 也只好手动指定 php.ini 运行了
使用两个不同的 php.ini 配置文件配置不同的运行参数(包括扩展参数),在开启 cli 或者 fpm 时,通过 -c 参数指定运行所使用的 php.ini 即可。
PHP和PHP-FPM都可以用参数-c指定php.ini配置文件.
执行下列命令可见:
<code>strace -f -o strace.log \ /png/php/5.4.45/bin/php -v && \ cat strace.log|egrep 'open|read'|grep 'ini' 3080 open("/png/php/5.4.45/bin/php-cli.ini", O_RDONLY) = -1 ENOENT (No such file or directory) 3080 open("/png/php/5.4.45/lib/php-cli.ini", O_RDONLY) = -1 ENOENT (No such file or directory) 3080 open("/png/php/5.4.45/bin/php.ini", O_RDONLY) = -1 ENOENT (No such file or directory) 3080 open("/png/php/5.4.45/lib/php.ini", O_RDONLY) = 3 </code>
PHP会优先读取php程序所在目录下的php-cli.ini,访问到则不再读取其他ini文件.
PHP-FPM情况如下:
<code>strace -f -o strace.log \ /png/php/5.4.45/sbin/php-fpm -v && \ cat strace.log|egrep 'open|read'|grep 'ini' 3537 open("/png/php/5.4.45/lib/php-fpm-fcgi.ini", O_RDONLY) = -1 ENOENT (No such file or directory) 3537 open("/png/php/5.4.45/lib/php.ini", O_RDONLY) = 3 </code>
PHP-CGI情况如下:
<code>strace -f -o strace.log \ /png/php/5.4.45/bin/php-cgi -v && \ cat strace.log|egrep 'open|read'|grep 'ini' 3568 open("./php-cgi-fcgi.ini", O_RDONLY) = -1 ENOENT (No such file or directory) 3568 open("/png/php/5.4.45/bin/php-cgi-fcgi.ini", O_RDONLY) = -1 ENOENT (No such file or directory) 3568 open("/png/php/5.4.45/lib/php-cgi-fcgi.ini", O_RDONLY) = -1 ENOENT (No such file or directory) 3568 open("./php.ini", O_RDONLY) = -1 ENOENT (No such file or directory) 3568 open("/png/php/5.4.45/bin/php.ini", O_RDONLY) = -1 ENOENT (No such file or directory) 3568 open("/png/php/5.4.45/lib/php.ini", O_RDONLY) = 3 </code>
可以把cli目录下的conf.d 的20-xdebug.ini 设置为禁用应该就可以了

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











PHPは主に手順プログラミングですが、オブジェクト指向プログラミング(OOP)もサポートしています。 Pythonは、OOP、機能、手続き上のプログラミングなど、さまざまなパラダイムをサポートしています。 PHPはWeb開発に適しており、Pythonはデータ分析や機械学習などのさまざまなアプリケーションに適しています。

PHPの中心的な利点には、学習の容易さ、強力なWeb開発サポート、豊富なライブラリとフレームワーク、高性能とスケーラビリティ、クロスプラットフォームの互換性、費用対効果が含まれます。 1)初心者に適した学習と使用が簡単。 2)Webサーバーとの適切な統合および複数のデータベースをサポートします。 3)Laravelなどの強力なフレームワークを持っています。 4)最適化を通じて高性能を達成できます。 5)複数のオペレーティングシステムをサポートします。 6)開発コストを削減するためのオープンソース。

PHPはWeb開発と迅速なプロトタイピングに適しており、Pythonはデータサイエンスと機械学習に適しています。 1.PHPは、単純な構文と迅速な開発に適した動的なWeb開発に使用されます。 2。Pythonには簡潔な構文があり、複数のフィールドに適しており、強力なライブラリエコシステムがあります。

PHPはWeb開発およびコンテンツ管理システムに適しており、Pythonはデータサイエンス、機械学習、自動化スクリプトに適しています。 1.PHPは、高速でスケーラブルなWebサイトとアプリケーションの構築においてうまく機能し、WordPressなどのCMSで一般的に使用されます。 2。Pythonは、NumpyやTensorflowなどの豊富なライブラリを使用して、データサイエンスと機械学習の分野で驚くほどパフォーマンスを発揮しています。

PHPは、動的なWeb開発およびサーバー側のアプリケーションに使用されるサーバー側のスクリプト言語です。 1.PHPは、編集を必要とせず、迅速な発展に適した解釈言語です。 2。PHPコードはHTMLに組み込まれているため、Webページの開発が簡単になりました。 3。PHPプロセスサーバー側のロジック、HTML出力を生成し、ユーザーの相互作用とデータ処理をサポートします。 4。PHPは、データベースと対話し、プロセスフォームの送信、サーバー側のタスクを実行できます。

PHPは過去数十年にわたってネットワークを形成しており、Web開発において重要な役割を果たし続けます。 1)PHPは1994年に発信され、MySQLとのシームレスな統合により、開発者にとって最初の選択肢となっています。 2)コア関数には、動的なコンテンツの生成とデータベースとの統合が含まれ、ウェブサイトをリアルタイムで更新し、パーソナライズされた方法で表示できるようにします。 3)PHPの幅広いアプリケーションとエコシステムは、長期的な影響を促進していますが、バージョンの更新とセキュリティの課題にも直面しています。 4)PHP7のリリースなど、近年のパフォーマンスの改善により、現代の言語と競合できるようになりました。 5)将来的には、PHPはコンテナ化やマイクロサービスなどの新しい課題に対処する必要がありますが、その柔軟性とアクティブなコミュニティにより適応性があります。

PHPは1994年に発信され、Rasmuslerdorfによって開発されました。もともとはウェブサイトの訪問者を追跡するために使用され、サーバー側のスクリプト言語に徐々に進化し、Web開発で広く使用されていました。 Pythonは、1980年代後半にGuidovan Rossumによって開発され、1991年に最初にリリースされました。コードの読みやすさとシンプルさを強調し、科学的コンピューティング、データ分析、その他の分野に適しています。
