LAMP での PHP 関数の動的拡張
phpの動的展開
私の php のバージョンは php-5.4.6 です。現在、lamp をオンラインで実行していますが、gd 拡張機能は現在サポートされていないため、php の動的拡張機能を試したいと考えています。
最初のステップは、phpize を実行してコンパイル済みパッケージを生成することです
[root@localhost src]# cd php-5.4.6/ext
その中には色々な拡張機能がありますが、もちろんgdをインストールしたいので、最初に間違えないように選びたいです。
[root@localhost ext]# yum install gd-devle -y
[root@localhost ext]# cd gd
[root@localhost gd]# phpize
[root@localhost gd]# ./configure && make && make install
このステップの実行時にエラーが報告されました
/usr/src/php-5.4.6/ext/gd/gd.c:1582: エラー: 関数 ;zend_list_insert への引数が多すぎます
この問題は /usr/src/php-5.4.6/ext/gd/gd.c で解決してください
zend_list_insert(font, le_gd_font TSRMLS_CC) を zend_list_insert(font, le_gd_font) に変更し、保存し、再コンパイルしてインストールします。
インストールが成功すると、次のステートメントが表示されます
共有拡張機能のインストール: /usr/local/lib/php/extensions/no-debug-zts-20090626/
2 番目のステップは、php 構成ファイルを変更することです
コンパイル完了後
[root@localhost gd]# cd modules/
[root@localhost モジュール]# ls
gd.so
gd.so ライブラリ ファイルを生成します。これは php.ini の拡張子に追加する必要があります。その後、次の 2 行を /usr/local/lib/php.ini ファイルに追加する必要があります
vi /usr/loca/lib/php.ini
extension_dir="/usr/local/lib/php/extensions/no-debug-zts-20090626/"
拡張子=gd.so
3 番目のステップは、Apache サービスを再起動することです