1. 今日、プロジェクトを開発するときに、PHP 関数 (mb_strcut) を使用しました。コードを実行すると、「関数 mb_strcut を呼び出します」というエラー メッセージが表示されました。まず、関数名が間違って記述されていないことを確認します。拡張機能が php.ini で有効になっていないためですか? その後、phpinfo にアクセスして、mb_strcut がロードされていないことを確認しました。この拡張機能は mbstring によって正式に構築されていることがわかりました
。2. php pecl の公式ホームページで検索したところ、MDZZ が見つかりませんでした。php インストール パッケージにはすべての拡張機能が含まれているため、作者は wget を使用して php5.6.24 のソース コード パッケージをダウンロードしました。ダウンロードアドレスは http://php.net/downloads.php リストを入力し、必要な PHP ソース パッケージを選択します。ホストのサーバーで使用されているバージョンは 5.6.24 なので、wget を使用する場合は、思い切って 5.6.24 をダウンロードします。 download、デフォルトのダウンロード ディレクトリは現在のディレクトリになります。 weget コマンドの形式は非常に単純です: wget [url] (wget http://hk1.php.net のように PHP 5.6.25 パッケージを直接ダウンロードすることをお勧めします。 /get/php-5.6.25.tar.bz2/from/this /mirror) ダウンロード後、ミラー ファイルを取得します。tar -zxvf Mirror を使用してそれを解凍し、フォルダーを入力して ext を見つけます。このフォルダーには PHP 拡張機能のソース ファイルが含まれています。投稿者が必要とする mbstring を見つけたら、phpize を使用してインストールします。 phpize は拡張機能を動的に追加するための公式ツールです。phpize について詳しくはこちらをご覧ください。
3. まず、phpize が現在のシステムに存在し、使用できることを確認する必要があります。たとえば、投稿者は /usr/bin/phpize です。通常、phpize は /usr/bin に含まれます。phpize コマンドの実行パスを決定したら、作成者がコンパイルしてインストールする必要がある拡張機能のディレクトリを入力します。 mbstring ディレクトリに入った後、現在の場所でコマンド /usr/bin を入力します。 /phpize コマンドが実行されると、ディレクトリ内にさらにいくつかのファイル (configure.. など) が表示され、次に ./configure - を入力します。 -with-php-config=/usr/local/php/bin/php-config コマンドに注意してください。エラーが表示された場合は、php-config パスが私のものと一致していないことを意味します。 whereis php-config を使用してこのファイルを検索し、エラーが報告されない場合は、順番に実行します。make および make install コマンドが実行された後、パスの入力を求められます。このパスには、コンパイルした適切な拡張機能が含まれています。たとえば、元の投稿者によって生成された拡張機能は、/usr/lib64/php/modules にあります。 Linux での拡張子は .so です。元の投稿者のマイクロは mbstring.so です。このステップは完了です。
4. このステップでは、php.ini 設定ファイルを変更する必要があります。また、Php.ini ファイルが配置されているディレクトリを見つけるために、php.ini を使用します。設定ファイルを見つけた後、 vi /etc/php.ini コマンドを使用するか、vim /etc/php.ini コマンドでこのファイルを開きます。デフォルトでは、vim ショートカット キー G を使用して文字の下部を見つけて行を追加します。 extension=mbstring.so この行は、生成した拡張機能を開始するためのものです。拡張機能を保存するためにデフォルトの場所を使用していない場合は、生成した .so ファイルをデフォルトのフォルダーにコピーしてください。現在の設定ファイルで extension_dir を宣言した場合は、拡張ファイルをロードできるように、宣言されたフォルダーに拡張ファイルを置きます。 extension = mbstring を追加した後、このステップは昨夜行われました5. 最後のステップではサーバーを再起動する必要があります。投稿者が LNMP を使用している場合は、nginx と php-fpm を再起動する必要があります。そうでない場合は、apche と php-fpm を再起動する必要があります。 php-fpm を有効にするために php-fpm を再起動する必要はありません。また、nginx に付属の管理コマンドを使用して、nginx コマンドの実行ディレクトリを見つけます。 /nginx、/usr/sbin/ を入力します。 nginx -s の再ロード後に nginx サービスを再起動します。前のパスは元のポスターとは異なる場合があります。次に、php-fpm を再起動します。コマンド ps -aux |grep php-fpm 現在のシステム内の php-fpm を含むプロセスのリストを取得します。 必要なのは、php-fpm.conf ファイルをロードしたプロセスのプロセス番号です。プロセス番号を見つけたら、kill [プロセス番号を入力] を使用します。たとえば、投稿者は 31411 で、これは kill 31411 です。これにより、php-fpm プロセスが停止します。 whereis php-fpm を使用して、php-fpm によって実行されたコマンドのパスを表示します。ポスターは /usr/sbin /php-fpm です。起動後、/usr/sbin/php-fpm を実行した後に php-fpm を再起動できます。 phpinfo() に移動すると、追加した拡張機能がすでにリストに含まれていることがわかります。この時点で、php への拡張機能の追加が完了しました。インストール後も表示されない場合は、どの手順が間違っていたのかを慎重に確認する必要があります。また、元の投稿者の電子メール アドレスは jeefs-@outlook.com です。ご質問がございましたら、私に電子メールをお送りください。