9

テスト ワークステーション (PHP 5.5.1、Apache 2.2.4、Windows 7 32 ビット) で intl 拡張機能を動作させようとしています。何をやってもうまく起動できないようです。

  • php.ini の「extension=php_intl.dll」行のコメントを外しました。
  • extension_dir ディレクティブが正しいディレクトリ (c:\wamp\php5.5\ext) を指していることを確認しました。
  • php_intl.dll が c:\wamp\php5.5\ext にあることを確認しました。
  • すべての icu*.dll ファイルが php ルート ディレクトリ (c:\wamp\php5.5) に存在することを確認しました。
  • c:\wamp\php5.5 が PATH にあることを確認しました。
  • はい、私が編集している php.ini のコピーは正しいものであり、httpd.conf の PHPIniDir ディレクティブで指定されたものです。

Apache エラー ログを確認したところ、Apache を再起動するたびに次の行が見つかりました。

PHP 警告: PHP の起動: 動的ライブラリ 'c:\wamp\php5.5\ext\php_intl.dll' を読み込めません - 指定されたモジュールが見つかりませんでした.\r\n 行 0 の不明

繰り返しますが、c:\wamp\php5.5\ext\php_intl.dll は存在します!

Windows エクスプローラーを指差して、自分のコンピューターに向かって「見てください! 臭いファイルがそこにあります!」と叫びたくなる衝動に駆られます。どうやら同じディレクトリを見ているのに、なぜ私はファイルを見ることができ、PHP は見ることができないのでしょうか? それとも、私が見逃した何か他のことが起こっていますか?

4

7 に答える 7

3

私はこれとまったく同じ問題を抱えていましたが、この問題に5時間近く取り組んだ後、最終的に解決しました. 私がしなければならなかった2つの主な変更がありました。

1) 使用しようとしていた拡張機能をダウンロードすると、.dll ファイル以外にも多くのファイルが付属していました。それらのほとんどは .pdb でした。それらすべてを、.dll ファイルを含む ext フォルダーに移動しました。

2)ここでコメントとして提供されたalaya dot com の smainesによる回答は、私がしなければならない 2 番目のことを教えてくれました - ext フォルダへのパスを Windows の $PATH 変数に追加します。 これには多くの方法がありますが、ここではその 1 つを示します。

  • マイコンピュータに移動
  • 右クリックしてプロパティを選択
  • 左側の「システムの詳細設定」をクリックします
  • 上部の「詳細」タブをクリックします
  • 「環境変数」ボタンをクリックします
  • 変数のリストを検索して「Path」変数を見つけ、それを選択します
  • 「編集...」ボタンをクリックします(「パス」変数が選択されている場合)
  • これにより、2 つの入力フィールドを含む別のダイアログ ボックスが表示されます。一番下は変数です。それを選択します。
  • 最後にセミコロンを追加してからパスを入力します。この場合、「;C:\wamp\php5.5\ext」と入力します (セミコロンは前のパスと区切るためのものです)
  • 表示されたすべてのダイアログ ボックスで [OK] をクリックして閉じます。

上記の変更を行った後、それらを有効にするためにマシンを再起動する必要があります。

それが役に立てば幸いです。これはかなり一般的な問題のようです - 少なくとも私はそれに関するかなりの数の議論とそのバリエーションを見つけました。

于 2014-08-08T19:32:07.833 に答える
1

PHP.exe の場所を PATH に追加する方法。

(Windows 7 GUI)

「環境変数: システム変数」への管理者アクセスについては、こちらの指示に従ってください: https://kb.wisc.edu/cae/page.php?id=24500

「環境変数: システム変数」で、「パス」変数を​​編集し、既存の文字列 (削除しないでください) の前に自分の場所を追加します。例: C:\wamp\bin\php\php5.5.12;

  • 私のために働いた。
于 2014-07-25T08:10:33.327 に答える