それが問題です。 ApacheにPHP 5.2.9があり、PHPをアップグレードできません。 SOAP 5.2.9でPHPを有効にする方法はありますか? PHPマニュアルは、「SOAPサポートを有効にするには、PHPを--enable-soapで構成します」と言ってもまったく役に立ちませんでした。どのように設定しますか?
SOAPを機能させるには、通常、ソースからPHPをコンパイルする必要はありません。最後の選択肢としてのみ試してみることをお勧めします。
適切な測定のために、SOAP拡張機能に関するphpinfoの内容を確認してください。
$ php -i | grep -i soap
PHP拡張機能が欠落していることを確認します。
PhpinfoにSOAPについて何も表示されていない場合、どのPHP SOAPパッケージが利用可能かを確認してください。
Ubuntu/Debianでは、次を使用して検索できます。
$ apt-cache search php | grep -i soap
または、RHEL/Fedoraで次を検索できます。
$ yum search php | grep -i soap
通常、利用可能な2つのPHP SOAPパッケージがあり、通常はphp-soap
とphp-nusoap
です。 php-soap
は通常、--enable-soap
でPHPを設定すると得られます。
Ubuntu/Debianでは、次のものでインストールできます。
$ Sudo apt-get install php-soap
または、RHEL/Fedoraで次を使用してインストールできます。
$ Sudo yum install php-soap
インストール後、iniファイルを配置してApacheを再起動する必要がある場合があります。
あなたの質問に関する限り:いいえ、.ini
からのアクティベーションが十分ではなく、PHPをアップグレードできない場合、できることはあまりありません。すべてではありませんが、一部のモジュールは再コンパイルせずに追加できます(zypper install php5-soap
、yum install php-soap
)。十分でない場合、解釈されるPEARサポート(NuSOAPなど)のためにSOAPクラスをインストールしてみてください。
一般に、二重ダッシュ--switches
は、PHPを最初から再コンパイルするときに使用するように設計されています。
PHPソースパッケージを(圧縮された.tgz
tarballとして)ダウンロードし、どこかで展開してから、たとえばLinuxでは、configureスクリプトを実行します
./configure --prefix ...
PHPで使用されるconfigure
コマンドは、phpinfo()
で表示される場合があります。同じことを繰り返すと、今インストールしたPHPの正確なコピーが得られます。 --enable-soap
を追加すると、他のすべてに加えてSOAPが有効になります。
つまり、PHP再コンパイルに慣れていない場合は、それをしないでくださいです。 freetype
、Gd
、libjpeg
、XML
、expat
など、利用できる可能性があるかどうか分からないいくつかの補助ライブラリも必要です。など(十分ではありませんインストール済み;それらは開発者バージョンでなければなりません。つまり、ヘッダーなどを使用します。ほとんどのディストリビューションでは、libjpeg
がインストールされています。十分ではない可能性があり、libjpeg-dev
も必要になる場合があります)。
再コンパイルのために、すべてがインストールされた別の仮想マシンを保持する必要があります。