./configure --enable-curl
./configure --with-curl
1.enable と with パラメータ コマンドの違いは何ですか?
2. 拡張子を .so 動的拡張子の形式ではなく php にコンパイルするにはどうすればよいですか?
3. PHP で正式にサポートされている拡張機能はどれですか? PHP ソース コード パッケージの ext ディレクトリにあるものは、PHP によって正式にサポートされていますか? phpにコンパイルできるのでしょうか?
4. 公式にサポートされている拡張機能を php にコンパイルするにはどのようなコマンドが使用されますか?
memcached 拡張機能を構成する必要がある場合はどうすればよいですか?具体的にモジュールを追加する方法はすでに知っていますが、ここで知りたいのは、PHP のコンパイル時にモジュールを直接追加できるかどうかです。必要なサードパーティのインストール パッケージは自動的にダウンロードされますか?
laravel5.5をサポートする必要がある場合、phpのインストール時にphpをコンパイルするにはどうすればよいですか?
ringa_lee2017-05-16 13:05:51
設定 | 手順 |
---|---|
--png-dir 付き | PNG 画像のサポートをオンにする |
--freetype-dir 付き | フリータイプフォントライブラリのオープンサポート |
--アイコンなし | iconv関数を閉じて文字セット間を変換します |
--libXML ディレクトリ付き | libxml2ライブラリのサポートをオンにする |
--XMLrpc 付き | C言語のxml-rpcを開きます |
--zlib-dir 付き | zlibライブラリのサポートをオンにする |
--gd付き | gd ライブラリのサポートをオンにする |
--gd-native-ttf を有効にする | TrueType文字列関数ライブラリをサポート |
--カール付き | curl ブラウジング ツールのサポートをオンにする |
--カールラッパー付き | curlツールを使用してURLストリームを開きます |
--ttf 付き | freetype1.* サポートを有効にします。追加する必要はありません |
--xsl 付き | オープン XSLT ファイルのサポート、拡張 libXML2 ライブラリ、libxslt ソフトウェアが必要です |
--gettext 付き | コーディング ライブラリで使用される GNU の gettext サポートを有効化します |
--梨入り | PHP 拡張に使用される pear コマンドのサポートを有効にする |
--カレンダーを有効にする | カレンダー拡張機能を開く |
--enable-mbstring | マルチバイト、文字列のサポート |
--bcmath を有効にする | 画像サイズ調整を開く、このモジュールはzabbix監視を使用するときに使用されます |
--ソケットを有効にする | ソケットのサポートをオンにする |
--exif を有効にする | 画像メタデータのサポート |
--魔法の引用を有効にする | 魔法の引用のサポート |
--rpath を無効にする | 追加のランタイムファイルを閉じる |
--デバッグを無効にする | デバッグモードをオフにする |
--with-mime-magic=/usr/share/file/magic.mime | マジックヘッダーファイルの場所 |
設定 | 手順 |
---|---|
--fpm を有効にする | このパラメータは、CGI によってインストールされるスタートアップ プログラムである PHP-fpm パッチを適用した後にのみ使用できます |
--fastCGI を有効にする | PHPを起動するfastcgiモードをサポート |
--強制 CGI リダイレクトを有効にする | リダイレクトを使用して PHP を開始する |
--ncurses 付き | ncursesの画面描画とテキストターミナルベースのグラフィカルインタラクション機能をサポートするダイナミックライブラリ |
--enable-pcntl | freeTDS を使用する必要があります。mssql のリンクに使用される可能性があります |
設定 | 手順 |
---|---|
--mcrypt 付き | アルゴリズム |
--mhash アルゴリズム
Mysql が Mysql 開発ライブラリをコンパイルした後は、mysql へのパスを指定する必要はありません。
PHP のコンパイルには基本的な依存関係があります。PHP をコンパイルするには、まず XML 拡張機能をインストールする必要があります。これは、php5 コアでは XML サポートがデフォルトで有効になっているためです。
GD -> zlib、Png、Jpg、その他をサポートする必要がある場合は、実際の状況に応じて拡張ライブラリをコンパイルする必要があります。ttf ライブラリは freetype ライブラリのサポートを必要とします。
--enable-magic-quotes は、非常に推奨されないパラメーターです。もちろん、基礎的な作業を PHP で行う必要がある場合、実際には問題を完全に解決することはできません。
--openssl を使用するには、openssl ライブラリが必要です。
mysqli は MySQL チームが提供する MySQL ドライバーであり、多くの実用的な機能と代表的な機能を備えています。ただし、PHP プラットフォーム上の MySQL には最適な選択肢ではありません。PDO は、シンプルで同時実行性が高く、作成とリサイクルが簡単な標準インターフェイスであることが証明されています。ただし、PDO は 5.3 よりも前でもメモリ オーバーフローの問題を経験していました。5.3 以降でも、Oracle の LOB リソースを読み取るときに、メモリが制限されていない場合は、依然としてメモリがオーバーフローします。
製品モードの場合、pear、shmop、ftp などの使用は推奨されません。彼らがやりたいこと、C/C++ を使用する、Java を使用する、または他のスクリプト言語を使用する場合でも、優れた高速なオプションがあります。実装するには PHP を使用することに限定する必要があります。馴染みのないクラス ライブラリや一般的に使用されないライブラリは推奨されません。 Magic-quote、session.auto_start、PHP サーバー情報、PHP エラー情報などは、サーバー情報の公開を避けるために、コンパイル完了後できるだけ早く閉じてください。
PHP に対応する Web サーバー モードでは、Module、fastcgi、fpm のいずれか 1 つだけが必要です。サーバーは実験分野ではありません。 Fastcgi は Nginx と lighttpd を選択できます。実際、Nginx も fcgi プロセス管理に lighttpd の spwan-fcgi を使用します。 fpm は PHP 自体を使用して複数のプロセスを管理します。これはバックエンド プロキシに似ています。モードに関係なく、製品サーバーをリリースするときは、プロセスとスレッドのチューニングを実行し、プロセス番号の最適な組み合わせを見つけるために十分なストレス テストを実行する必要があります。
PHP OPCode キャッシュ拡張機能を選択することも非常に重要です。Linux 2.6 コアと fcgi では、同時実行数が増加すると、xcache のパフォーマンスが大幅に低下します。
本当にそれを体験したい場合は、さまざまな環境に適応するために 1 つのバージョンの PHP にさまざまな拡張機能を収集するよりも、複数の PHP バージョンをコンパイルすることをお勧めします。