27

私はphpサーバーの設定に不慣れで、他の関連する投稿を読んだことがありますが、私と同じエラーが発生する人はいないようです。MAMP 2.0.2を使用していて、PHP 5.3.6を実行していて、次のコマンドを使用して、ローカルMAMPにoAuthをインストールしようとしていました。

$ cd /Applications/MAMP/bin/php/php5.3.6/bin
$ ./pecl install oauth

ただし、次のようなエラーが返されます。

Notice: unserialize(): Error at offset 276 of 1133 bytes in Config.php on line 1050
ERROR: The default config file is not a valid config file or is corrupted.

何が起こっている?PECLはMAMPにバンドルされており、箱から出してすぐに機能するはずです。

アップデート:

他の場所で投稿を読んだところ、インストールパスを保持する構成ファイルのデータが正しくないことが示唆されたため、次のファイルの値を変更しました。

/Applications/MAMP/bin/php/php5.3.6/conf/pear.conf

次に、次のコマンドを使用します。

$ ./pecl install oauth

ダウンロードと解凍を開始しますが、インストールしようとすると、次のようになります。

creating libtool
appending configuration tag "CXX" to libtool
configure: creating ./config.status
config.status: creating config.h
running: make
/bin/sh /private/tmp/pear/temp/pear-build-user1RU5EZA/oauth-1.2.2/libtool --mode=compile cc  -I. -I/private/tmp/pear/temp/oauth -DPHP_ATOM_INC -I/private/tmp/pear/temp/pear-build-user1RU5EZA/oauth-1.2.2/include -I/private/tmp/pear/temp/pear-build-user1RU5EZA/oauth-1.2.2/main -I/private/tmp/pear/temp/oauth -I/Applications/MAMP/bin/php/php5.3.6/include/php -I/Applications/MAMP/bin/php/php5.3.6/include/php/main -I/Applications/MAMP/bin/php/php5.3.6/include/php/TSRM -I/Applications/MAMP/bin/php/php5.3.6/include/php/Zend -I/Applications/MAMP/bin/php/php5.3.6/include/php/ext -I/Applications/MAMP/bin/php/php5.3.6/include/php/ext/date/lib  -DHAVE_CONFIG_H  -g -O2 -Wall -g   -c /private/tmp/pear/temp/oauth/oauth.c -o oauth.lo
mkdir .libs
cc -I. -I/private/tmp/pear/temp/oauth -DPHP_ATOM_INC -I/private/tmp/pear/temp/pear-build-user1RU5EZA/oauth-1.2.2/include -I/private/tmp/pear/temp/pear-build-user1RU5EZA/oauth-1.2.2/main -I/private/tmp/pear/temp/oauth -I/Applications/MAMP/bin/php/php5.3.6/include/php -I/Applications/MAMP/bin/php/php5.3.6/include/php/main -I/Applications/MAMP/bin/php/php5.3.6/include/php/TSRM -I/Applications/MAMP/bin/php/php5.3.6/include/php/Zend -I/Applications/MAMP/bin/php/php5.3.6/include/php/ext -I/Applications/MAMP/bin/php/php5.3.6/include/php/ext/date/lib -DHAVE_CONFIG_H -g -O2 -Wall -g -c /private/tmp/pear/temp/oauth/oauth.c  -fno-common -DPIC -o .libs/oauth.o
In file included from /private/tmp/pear/temp/oauth/oauth.c:14:
/private/tmp/pear/temp/oauth/php_oauth.h:20:10: 

fatal error: 'php.h' file not found

include "php.h"
     ^

1 error generated.

make: *** [oauth.lo] Error 1

ERROR: `make' failed

繰り返しますが、何が起こっているのですか?

4

4 に答える 4

66

これは古いことは知っていますが、同様の問題を抱えているときにこの質問を見つけました。

MAMP には多数の PHP ソースが同梱されていません

  • MAMP コンポーネントをダウンロードして構成する
  • URL: http://www.mamp.info/en/downloads/index.html (つまり、MAMP_components_2.0.2.zip)
  • MAMP_components_2.0.2.zip を解凍します
  • php-5.xxtar.gz ファイルを特定します (5.xx は PHP のバージョンです)。
  • php > 5.4.10 を使用している場合は、MAMP コンポーネントのダウンロードに含まれていないため、http://php.net/releases からソースをダウンロードしてください(コメントに pulkitsinghal のクレジットがあります)。
  • PHP ソースのディレクトリを作成します。

    mkdir -vp /Applications/MAMP/bin/php5/include

  • php-5.xxtar.gz を /Applications/MAMP/bin/php/php5.*/include または /Applications/MAMP/bin/php5/ include に untar します。

    tar zxvf php-5.x.x.tar.gz -C /Applications/MAMP/bin/php/php5.?.??/include

  • php-5.xx ディレクトリの名前を php に変更します (バージョン番号なし):

    mv /Applications/MAMP/bin/php/php5.2.17/include/php-5.?.?? /Applications/ MAMP/bin/php/php5.2.17/include/php

  • PHP ソースを構成します (必要なファイル、つまり zend_config.h、tsrm_config.h などを作成します):

    cd /Applications/MAMP/bin/php/php5.?.??/include/php

    ./configure

プロセスは別の修正のためのものでしたが、これにより php.h が見つからないという問題が解決されました

私が答えを見つけた場所へのクレジット - :

トーマス・ハンターのブログ

Google ドキュメントの詳細化プロセス

于 2012-06-24T05:29:31.147 に答える
30

pecl install -f ssh2MAMPを使用しようとしているときに同じ問題が発生しました。

これが私がそれを修正した方法です:

  1. MAMP は PHP 5.4.10 のソース コード アーカイブを提供していないため、php.net からダウンロードしてください。
  2. ソース コード アーカイブを /Applications/MAMP/bin/php/php5.4.10/include/php に抽出します。
  3. 実行./configureして、プラットフォームのソース コードを構成します (この手順を行わないと、pecl のインストールは一連のヘッダー ファイルの検索に失敗します)。
  4. peclインストールを再試行してください

(ほとんど同じであるスティーブンの答えに感謝します)

于 2013-04-11T01:08:50.700 に答える
1

PECL モジュールはコンパイルされたモジュールです。インストールするには、PHP ヘッダーが必要です。php.net/downloads.php でヘッダーを見つけることができます。PHP のバージョンと一致するバージョンをダウンロードしてください。次に、これに従うことができます:MAMP環境でのPHP OAuthのインストール

于 2014-06-18T00:52:54.833 に答える