0

PHP GD 拡張機能がロードされ、ローカル サーバーで動作していますが、まったく同じファイルをすべて使用しているにもかかわらず、ライブ サーバーに正しくロードされません。

(ここでは PHP GD は正常に動作しています) ローカル サーバー: Microsoft Windows Server 2003 For Small Business Server SP2 IIS バージョン: 6

次に、「C:\PHP」フォルダー全体をローカルサーバーからライブサーバーの「C:\Program Files (x86)\」にコピーしました。その「PHP」フォルダーには、extフォルダーとその中に「php_gd2.dll」ファイルが含まれています。「php.ini」のパスも「C:\PHP」から「C:\Program Files (x86)\」に変更しました。ただし、PHP はライブ サーバーにはロードされません。

PHPINFO Local:http://jsfiddle.net/hFKfx/
PHPINFO Live: http://jsfiddle.net/h77Hy/

私はPHPがあまり得意ではありません。助けてください。

4

1 に答える 1

1

Win2K3 / IIS6 では、PHP を ISAPI モジュール (スレッドセーフ) として実行しています。
Win 7 / IIS7.5 では、PHP を FCGI モジュール (非スレッドセーフ) として実行しています。

これはおそらくあなたの問題です。スレッドセーフ (TS) 拡張機能と非スレッドセーフ (NTS) 拡張機能をコア PHP と組み合わせて使用​​することはできません。すべてをコピーしただけの場合は、おそらく TS 拡張機能があります。NTS のものをダウンロードして使用する必要があります。

( PHP 5.2.6 NTS へのアーカイブ リンク)

この仮定を確認するには、php.iniで起動エラーのログが指定されている場所を確認します。起動エラーをログに記録している場合は、次のようなものが表示されます。

PHP 警告: PHP の起動: gd 拡張機能: モジュールを初期化できません
ビルド ID=API20041225,TS,VC6 でコンパイルされたモジュール
ビルド ID=API20041225,NTS,VC6 でコンパイルされた PHP
これらのオプションは一致する必要があります

(「TS」と「NTS」に注意)

それが役立つことを願っています。そうでない場合は、問題の内容を示す別の情報がログに見つかる可能性があります。

于 2012-06-26T02:04:57.457 に答える