私はそれを100回試しましたが、私は本当にUbuntuが初めてなので、エラーの束で終わりましたが、誰も私を助けてくれるのか分からないのですか?
ここに私がやったことがあります:
PHPIZE
not foundと表示されます。最初に、PEARをapt-get
経由でインストールして、PEAR
とPECL
の両方が使用する必要なパッケージと配布システムを取得する必要があります。シェルプロンプトから次を入力します。
Sudo apt-get install php-pear
インストールの確認を求められます。 「y」を押して入力します。すべてがうまくいけば、php-pearパッケージをダウンロードしてインストールするのが見えるはずです。
追加のモジュールをコンパイルするために必要なPHP5ソースファイルを取得するには、php5-devパッケージをインストールする必要があります。シェルプロンプトから次を入力します。
Sudo apt-get install php5-dev
Php5-devパッケージをインストールせず、「pear install」を使用してPECL拡張機能をインストールしようとすると、次のエラーが表示されます。
sh: phpize: not found
ERROR: `phpize’ failed
PECL_HTTP拡張機能には、追加の依存パッケージをインストールする必要があります。他の拡張機能については、おそらくこれをスキップできます。
Sudo apt-get install libcurl3-openssl-dev
これで、実際に拡張機能をインストールする準備が整いました。シェルプロンプトから次のように入力しますが、インストールするPECL拡張機能名で「pecl_http」を置き換えます。
Sudo pecl install pecl_http
インストーラーは、インストールしている拡張機能の特定のオプションについて尋ねる場合があります。実装に特定のオプションを設定する場合を除き、Enterキーを1回以上押すだけですべてのデフォルトを受け入れることができます。すべてがうまくいけば、モジュールはダウンロード、ビルド、インストールされます。
インストールが完了すると、おそらくphp.iniファイルに「extension =」行を追加するように求められます。お気に入りのテキストエディターでphp.iniファイルを開き、「Dynamic Extensions」というラベルの付いたセクションの下に行を追加します。 Ubuntuでは、php.iniファイルは/ etc/php5/Apache2フォルダーにあるようです。
Sudo nano /etc/php5/Apache2/php.ini
この例では、pecl_http拡張機能のインストールで「extension = http.so」を追加するように求められました。 php.iniファイルが更新されたので、Apacheを再起動して新しい拡張機能をロードする必要があります。
Sudo /etc/init.d/Apache2 restart
@Askの答えに加えて、私もする必要がありました:
Sudo apt-get install libpcre3-dev
pecl install pecl_http
を実行する前に、pcre.h
に関するこのエラーが発生したためです。
致命的なエラー:pcre.h:そのようなファイルまたはディレクトリのコンパイルは終了しませんでした。
また、php.ini
ファイルを編集する代わりに、pecl-http.ini
ファイルがある場所のconf.d
サブディレクトリにphp.ini
という新しいファイルを作成しました(ubuntu /etc/php5/Apache2/conf.d
で)
そして、次の3行を追加する必要がありました。
extension=raphf.so
extension=propro.so
extension=http.so
最後に、このインストールされたバージョン2.0.6
を使用したため、http_get_request_headers
関数を使用できませんでしたが、代わりに名前空間付きバージョンを使用する必要がありました。\http\Env::getRequestHeader()
詳細はこちら
ps:完了したらApacheを再起動することを忘れないでください(service Apache2 restart
)
Maythuxとcwdの回答に加えて、これらの変更は更新時に失われる可能性があるため、php.iniファイルを編集したくない場合があります。
Debian(およびUbuntu)は、Apacheモジュールと同じ方法でphpモジュールを処理します。 /etc/php5
を見ると、次のようなディレクトリがあります。
Apache2/
cli/
mods-available/
mods-available
を調べると、次のようなファイルがいくつか表示されます。
curl.ini
Gd.ini
json.ini
mysql.ini
…
すべてのAPI(Apache、cli、cgi)でこれらの利用可能なMODを有効/無効にするには、次のようにphp5enmod
またはphp5dismod
コマンドを使用します。
$ Sudo php5enmod curl
それぞれ
$ Sudo php5dismod curl
これらは、Apache2/conf.d/
およびcli/conf.d/
内のモジュール構成ファイルへのシンボリックリンクを作成(または削除)します。
Sapiを指定してmodを有効/無効にすることもできます(この場合はApache):
$ Sudo php5enmod -s Apache2
pecl install
はraphf
(およびそれとともにインストールされる他のモジュール)の構成ファイルを作成しない場合がありますが、独自に作成できます。
$ Sudo touch /etc/php5/mods-available/raphf.ini
次に、次の行に書き込みます。
; configuration for php raphf module
; priority=20
extension=raphf.so
デフォルトの優先度は20です。使用する優先度は、モジュールのタイプによって異なります。 raphf
20の場合は問題ないようです。 (Update:pecl_httpを探している場合、バージョン2以降、rapfh
およびpropro
の後にロードする必要があります。 、[mods-available/http.ini
の優先度を30
に設定します。)
それにより、モジュールを有効にできます:
$ Sudo php5enmod raphf
(注:私の答えはUbuntu 14.04に依存しますが、13.04でも同じように機能する場合があります。 http://www.lornajane.net/posts/2012/managing-php-5-4-extensions-on-を参照してください。 ubunt )
今では、この方法でPEARをインストールして、ソースから取得します。
wget http://pear.php.net/go-pear.phar
php go-pear.phar