80

それが多くの問題です。ApacheでPHP5.2.9を使用していますが、PHPをアップグレードできません。PHP 5.2.9でSOAPを有効にする方法はありますか?PHPのマニュアルには、「SOAPサポートを有効にするには、-enable-soapを使用してPHPを構成する」と書かれていましたが、まったく役に立ちませんでした。構成するにはどうすればよいですか?

4

3 に答える 3

183

通常、SOAPを機能させるために、ソースからPHPをコンパイルする必要はありません。最後のオプションとしてのみ試してみることをお勧めします。

適切な方法として、phpinfoがSOAP拡張機能について何を言っているかを確認してください。

$ php -i | grep -i soap

欠落しているのがPHP拡張であることを確認します。

phpinfoにSOAPについて何も表示されていないと仮定して、どのPHPSOAPパッケージを使用できるかを確認してください。

Ubuntu / Debianでは、次のコマンドで検索できます。

$ apt-cache search php | grep -i soap

またはRHEL/Fedoraでは、次のコマンドで検索できます。

$ yum search php | grep -i soap

php-soap通常、利用可能なPHP SOAPパッケージは2つあり、通常はとですphp-nusoapphp-soapこれは通常、PHPをで構成することで得られるものです--enable-soap

Ubuntu / Debianでは、次のコマンドでインストールできます。

$ sudo apt-get install php-soap

または、RHEL/Fedoraでは次のコマンドでインストールできます。

$ sudo yum install php-soap

インストール後、iniファイルを配置してApacheを再起動する必要がある場合があります。

于 2012-07-20T18:27:06.793 に答える
13

マシンにUbuntuがある場合は、次の手順が役立ちます。

  1. 石鹸(クライアント/サーバー)があるかどうか、またはphpinfo()を使用していないかどうかを、最初にphpテストファイルで確認してください。ブラウザで結果を確認します。お持ちの場合は、次の画像のようになります(手順2に進まない場合)。

ここに画像の説明を入力してください

  1. ターミナルを開いて貼り付けます:sudo apt-getinstallphp-soap。

  2. ターミナルでapache2サーバーを再起動します:serviceapache2restart。

  3. phpテストファイルをもう一度使用して確認するには、手順1で私のように見えます。

于 2017-07-06T11:45:54.740 に答える
6

あなたの質問に関する限り、いいえ、からアクティブ化する.iniだけでは不十分で、PHPをアップグレードできない場合、できることはあまりありません。すべてではありませんが、一部のモジュールは再コンパイルせずに追加できます(zypper install php5-soapyum install php-soap)。十分でない場合は、インタプリタされたSOAPサポート(NuSOAPなど)用のPEARクラスをインストールしてみてください。

一般に、二重ダッシュ--switchesは、PHPを最初から再コンパイルするときに使用するように設計されています。

PHPソースパッケージを(たとえば、圧縮された.tgztarballとして)ダウンロードし、どこかに展開してから、たとえばLinuxでconfigureスクリプトを実行します。

./configure --prefix ...

configurePHPで使用されるコマンドは、で表示される場合がありますphpinfo()。同じように繰り返すと、インストールしたPHPの正確なコピーが得られます。追加--enable-soapすると、他のすべてに加えてSOAPが有効になります。

とはいえ、PHPの再コンパイルに慣れていない場合は、それを行わないでください。また、利用できる、または利用できない可能性のあるいくつかの補助ライブラリが必要です- 、、、、、freetypeなど(インストールするだけでは不十分です。開発者バージョンである必要があります。つまり、ヘッダーなどがあります。ほとんどのディストリビューションでは、インストールするだけでは不十分な場合があり、必要になる場合もあります)。gdlibjpegXMLexpatlibjpeglibjpeg-dev

再コンパイルの目的で、すべてがインストールされた別の仮想マシンを保持する必要があります。

于 2012-07-20T18:02:49.247 に答える