それが多くの問題です。ApacheでPHP5.2.9を使用していますが、PHPをアップグレードできません。PHP 5.2.9でSOAPを有効にする方法はありますか?PHPのマニュアルには、「SOAPサポートを有効にするには、-enable-soapを使用してPHPを構成する」と書かれていましたが、まったく役に立ちませんでした。構成するにはどうすればよいですか?
3 に答える
通常、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-nusoap
。php-soap
これは通常、PHPをで構成することで得られるものです--enable-soap
。
Ubuntu / Debianでは、次のコマンドでインストールできます。
$ sudo apt-get install php-soap
または、RHEL/Fedoraでは次のコマンドでインストールできます。
$ sudo yum install php-soap
インストール後、iniファイルを配置してApacheを再起動する必要がある場合があります。
マシンにUbuntuがある場合は、次の手順が役立ちます。
- 石鹸(クライアント/サーバー)があるかどうか、またはphpinfo()を使用していないかどうかを、最初にphpテストファイルで確認してください。ブラウザで結果を確認します。お持ちの場合は、次の画像のようになります(手順2に進まない場合)。
ターミナルを開いて貼り付けます:sudo apt-getinstallphp-soap。
ターミナルでapache2サーバーを再起動します:serviceapache2restart。
phpテストファイルをもう一度使用して確認するには、手順1で私のように見えます。
あなたの質問に関する限り、いいえ、からアクティブ化する.ini
だけでは不十分で、PHPをアップグレードできない場合、できることはあまりありません。すべてではありませんが、一部のモジュールは再コンパイルせずに追加できます(zypper install php5-soap
、yum install php-soap
)。十分でない場合は、インタプリタされたSOAPサポート(NuSOAPなど)用のPEARクラスをインストールしてみてください。
一般に、二重ダッシュ--switches
は、PHPを最初から再コンパイルするときに使用するように設計されています。
PHPソースパッケージを(たとえば、圧縮された.tgz
tarballとして)ダウンロードし、どこかに展開してから、たとえばLinuxでconfigureスクリプトを実行します。
./configure --prefix ...
configure
PHPで使用されるコマンドは、で表示される場合がありますphpinfo()
。同じように繰り返すと、インストールしたPHPの正確なコピーが得られます。追加--enable-soap
すると、他のすべてに加えてSOAPが有効になります。
とはいえ、PHPの再コンパイルに慣れていない場合は、それを行わないでください。また、利用できる、または利用できない可能性のあるいくつかの補助ライブラリが必要です- 、、、、、freetype
など(インストールするだけでは不十分です。開発者バージョンである必要があります。つまり、ヘッダーなどがあります。ほとんどのディストリビューションでは、インストールするだけでは不十分な場合があり、必要になる場合もあります)。gd
libjpeg
XML
expat
libjpeg
libjpeg-dev
再コンパイルの目的で、すべてがインストールされた別の仮想マシンを保持する必要があります。