• 締切済み

指定されたモジュール・・・

こんにちは。 最近「実践マスターPHP+MySQL」という本を使い、PHPの勉強を始めたばかりのものです。 PEARをインストールしてみようと思い、go-pear.batを実行したのですが、下記のようなメッセージが発生してしまいます。 PHP Warning: PHP Startup: Unable to load dynamic library 'c:\php\ext\mysql.dll' - 指定されたモジュールが見つかりません。 in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library 'c:\php\ext\mysql.so' - 指定されたモジュールが見つかりません。 in Unknown on line 0    ・    ・ メッセージボックスが表示され、Entを押すと継続されて、下記インストール手順のメッセージが表示されます。 Are you installing a system-wide PEAR or a local copy? (system|local) [system] : そのまま、対話式を実行していくと、とりあえずはインストールできたのですが、本当にこれできちんとインストールできたのか疑問に思います。 調べてみた結果、c:\php\extの中には「php_mysql.dll」はあったのですが、「mysql.dll」、「mysql.so」はありませんでした。検索したのですが、この2つのファイルはどこにも存在していませんでした。 どうしたらいいのでしょうか?

  • PHP
  • 回答数3
  • ありがとう数3

みんなの回答

  • PaperCup
  • ベストアンサー率0% (0/0)
回答No.3

拡張モジュール設定時の『指定されたモジュールが見つかりません。』って 検索するとたくさんヒットするけれど結論ない情報多って結構ありますね^^; (私も良く分かってない者ですので、ここに立ち寄った訳ですが) php4しか使っていないのでphp5のことはさっぱりなのですが、 私の場合、php4でdomxmlモジュールを拡張する際に調べていて 下記の事がオフィシャルサイトに書かれているのに気づきました。 ==== 抜粋 ==== Windows ユーザの場合、これらの関数を使用するには php.ini の php_domxml.dll を有効にしてください。 また、この拡張を有効にするためには、追加の DLL をシステムパスにコピーする必要があります。 PHP 4 では、この DLL は dlls/ にあります。 DLL 名は、PHP<=4.2.0でlibxml2.dll、PHP>=4.3.0でiconv.dllです。 また、PHP 5.0.0 以降では iconv が Windows 用 PHP バイナリにデフォルトでコンパイルされていますので、外部DLLは必要ありません。 ============== Apache再起動時のエラーでphp_domxml.dllが見つからないと怒られますが、 本当のところはdllsフォルダにあるiconv.dllもしくはlibxml2.dlがシステムパス の通ってる所に無いとダメっぽいですね。 ということは、他の拡張モジュールを使うときでもdllsフォルダにある何かが 必要になるケースがあるってことなのかなぁと。 素人的な発想ですが、「C:\php」に環境変数のパスを通しているならそこにdllsフォルダの全ファイルをコピるとか、 もっと乱暴なことをいうと「C:\WINDOWS\system32」にdllsフォルダの全ファイルをコピっておけば、どの*.dllを 拡張しても動くんじゃないかと思いました。

lowright
質問者

お礼

なるほど、そういうやり方もあるんですね。 私は本当に素人なのでエラーが1つでもでると一歩も進めなくなってしうので大変です。 またよろしくお願いします!

  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.2

環境変数の設定はOSにより微妙に違うのですが、 2000/xp/vista なら基本的には コントロールパネル→システム→詳細→ 環境変数 で設定できる画面に行きますが、編集しにくい上に 間違えると被害がでかいので、以下のフリーソフトを使って 設定することをお勧めします。 eve - munepi.com http://www.munepi.com/software/eve.html 上記のツールをインストールして起動したら、 システム環境変数を選択し、 名前の欄でPATHとあるところを探してください。 見つかったらそこをダブルクリックします。 値というラベルのついた編集可能なテキストボックスに 既に何個か登録されていると思いますが、 その最初の行か最後の行に、 ibmysql.dll のあるディレクトリを追加してください。 追加できたら、適用→保存して適用 してからeveを終了してください。

lowright
質問者

お礼

解決しました!!include_pathの設定が include_path = ".;c:/php/includes;c:/php/pear" となっておらず、警告文が出たみたいです。 お騒がせしてすみません。 正常にインストールできているかは不明ですが、なんとか警告文は消えました。 ありがとうございました!

lowright
質問者

補足

ありがとうございます! さっそくやってみました。しかしまだ警告文が消えません。。 ちなみにチェックポイントの(1)のextension_dirは extension_dir = "c:\php\ext" であっていますよね??

  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.1

参考リンクの3177の発言からのスレッドのようにチェックしてみてください。 BBS - PHPの基礎体力 http://www.sound-uz.jp/php/bbs/index.php?mode=klog&num=9 チェックポイントは、以下の3点でした。 (1)extention_dir は正しいか。(php.ini) (2)extension=php_mysql.dll のコメントアウトをはずす。(php.ini) (3)libmysql.dll のあるディレクトリ(c:\php)にパスを通す。    (Windowsの環境変数の設定)

参考URL:
http://www.sound-uz.jp/php/bbs/index.php?mode=klog&num=9
lowright
質問者

補足

回答ありがとうございます! チェックしてみたところ、(1)と(2)は大丈夫だったのですが、(3)の (3)libmysql.dll のあるディレクトリ(c:\php)にパスを通す。    (Windowsの環境変数の設定) のやり方が分かりませんでした。 ど素人で申し訳ないのですが、やり方を教えてもらえたらうれしいです。

関連するQ&A

  • <大至急!>ご教授願います。

    MySQLで作ったお祭りのデータベースからデータを検索し、お祭りの名前と開催地だけを検索結果として表示させるというものを作っています。 しかし、エラーもなにも起きていないのに、検索しても結果が表示されません。検索結果の件数も反映されません。 PHPのプログラムの方にまだ問題があるのでしょうか?それともMySQLの方に問題があるのでしょうか? また、pearについても質問があります。pear listを実行すると問題なく見ることができるのですが、以下のような警告が表示されます。 PHP Warning: PHP Startup: Unable to load dynamic library 'ext\php_pdo_firebird. dll' - 指定されたモジュールが見つかりません。 in Unknown on line 0 Warning: PHP Startup: Unable to load dynamic library 'ext\php_pdo_firebird.dll' - 指定されたモジュールが見つかりません。 in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library 'ext\php_pdo_oci.dll' - 指定されたモジュールが見つかりません。 in Unknown on line 0 Warning: PHP Startup: Unable to load dynamic library 'ext\php_pdo_oci.dll' - 指 定されたモジュールが見つかりません。 in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library 'ext\php_pspell.dll' - 指定されたモジュールが見つかりません。 in Unknown on line 0 Warning: PHP Startup: Unable to load dynamic library 'ext\php_pspell.dll' - 指定 されたモジュールが見つかりません。 in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library 'ext\php_sybase_ct.dll ' - 指定されたモジュールが見つかりません。 in Unknown on line 0 Warning: PHP Startup: Unable to load dynamic library 'ext\php_sybase_ct.dll' - 指定されたモジュールが見つかりません。 勉強中と言ってもを初心者同然なので、ご教授いただきたいです。よろしくお願いいたします。 Windows7 PHP 5.4.9 MySQL 5.5 Apach 2.2.22 phpMyAdmin 3.5.4 <html> <head> <title>PHPのテスト</title> </head> <body> <?php require_once("MDB2.php"); $dbUser = "root"; $dbPass = "im1907720"; $dbHost = "localhost"; $dbName = "moe_db"; $dbType = "mysql"; $dsn = "$dbType://$dbUser:$dbPass@$dbHost/$dbName"; $conn = MDB2::connect($dsn); if(MDB2::isError($conn)) { die($conn -> getMessage()); } $conn -> disconnect(); //POSTされたデータを受け取り、エスケープします。 $search_key=addslashes($_POST['search_key']); $search_ken=addslashes($_POST['search_ken']); $sql= <<<EOS SELECT * FROM moeinfo WHERE name like '%$search_key%' OR address like '%$search_ken%' EOS; /* if(substr(PHP_OS,0,3) == 'WIN') { $sql=mb_convert_encoding($sql, "SJIS", "EUC-JP"); } */ $result=$conn->query($sql); if(MDB2::isError($result)) { die($result->getMessage()); } $count=$result->numRows(); print "検索結果は" .$count. "件です。<br>"; if($count> 0){ ?> <table width="450" border="1" cellspacing="0" cellpadding="8"> <tbody> <tr><th>イベント名</th><th>開催地都道府県名</th></tr> <?php while($rs=$result->fetchRow(MDB2_FETCHMODE_ASSOC)) { if(substr(PHP_OS,0,3) == 'WIN') { $rs['name']=mb_convert_encoding($rs['name'], "EUC-JP", "SJIS"); $rs['address']=mb_convert_encoding($rs['address'], "EUC-JP", "SJIS"); } } ?> <tr><td aling="center"><?=$rs['name']?></td> <td><?=$rs['address']?></td> </tr> </tbody> </table> <?php } //mysql_free_result ($result) ; $result->free(); $conn->disconnect(); ?> </body> </html>

    • ベストアンサー
    • PHP
  • PHPのインストールに成功したはずが…

    OSはWindowsXPです。 昨日、Apache2とphp5のインストールをしました。 本(PHP5.0+MySQL5.0で構築する最速webシステムという本です。)を見ながらやりました。 最後にphpinfo()というタグをうって localhostで見てみたら機能していました。 そして今日 パソコンを使おうと思って起動したら 「(Warning) php Startup:Unable to load dynamic library 'C./php/ext\php-mbstring.dll'-指定されたモジュールが見つかりません 」 というような文が出てきました。 この警告を出さないようにするためには どうしたらいいでしょうか? ちなみに、まだ MySQLはインストールしていません。 (これが原因でしょうか?) ご指導の方お願いします。

    • ベストアンサー
    • PHP
  • PHP5の拡張モジュールの関数を有効化するとエラーがでます。

    こんにちは。 いつもお世話になっております・・・。 PHP5+Apach2+MySQL4.0 Win環境で、インストールをしていたのですが・・。 <?php phpinfo(); ?>を、Apacheのドキュメントフォルダに 入れた所、ちゃんと表示されたので、インストール 自体は行えているのかな、と思うのです。 が、C:\Windows\php.ini の中に extension = php_mysqli.dll を足して Apacheを再起動させると Warning: PHP Start up:Unable to load dynamic library. c:/php/ext\php-mysqli.dll というエラーが2回繰り返し表示されてしまうのです。 php_mysqli.dllファイルは、c:/php/extフォルダに あったのを、システムフォルダ(C:\windows\system32)にもコピーしてあります。 なぜこのようなエラーが出てしまうのでしょうか・・・。 どうかご指導よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • php.iniの修正

     こんにちは!最近Apache,PHP,MySQLをインストールしたんですが、今php.iniの修正に1つところが困ってます:  php.iniの中に“extension=php_mysql.dll”これ前の“;”を外すじゃない、 しかし、外してから、保存してApache2を再起動するとこんなメセージが出てくるですよ:“PHP Startup:unable to load dynamic library 'D:\PHP\ext\php_mysql.dll'-指定されたモジュールが見つかりません。” これは如何すればいいですか?分かる方がいましたら是非教えてください、お願いします!

    • ベストアンサー
    • PHP
  • 基礎からのPHPという学習本で勉強中です。PEAR::DBモジュールの

    基礎からのPHPという学習本で勉強中です。PEAR::DBモジュールのインストールがうまくいきません。 OS:Windows XP php-5.2.3-Win32.zip を使用。 C:\Program Files\PHP5 (ディレクトリ) 下記のとおりphp.iniを変更・追加しました。 include_path = ".;C:\Program Files\PHP5\includes"(追加) ; extension_dir = "./"(コメントアウト) extension_dir = "c:\Program FIles\PHP5\ext"(追加) extension=php_gb2.dll extension=php_mbstring.dll extension=php_mysql.dll extension=php_pdo.dll extension=php_pdo_mysql.dll (コメントアウトをはずす) mbstring.internal_encoding = SJIS(修正) apache_20204-win32-x86-no_ssl.msi を使用。 下記のとおりhttpd.confを変更・追加しました。 LoadModule php5_module "c:\Program Files\PHP5\php5apache2_2.dll"(追加) PHPiniDir "C:\Program Files\PHP5"(追加) DirectoryIndex index index.html index.php(追加) Include conf/extra/httpd-languages.conf 下記のとおりmime.typesを変更・追加しました。 application/x-httpd-php php(追加) 下記のとおりhttpd-languages.confを変更・追加しました。 DefaultLanguage ja(修正) AddDefaultLanguage ja(追加) mysql-5.0.45-win32.zip を使用しました。 go-pear.batの実行結果。 PHP Warning: PHP Startup: Unable to load dynamic library 'C:\Program Files\php5 \ext\libpdf_php.dll' - 指定されたモジュールが見つかりません。 in Unknown on line 0 Are you installing a system-wide PEAR or a local copy? (system|local) [system] : この状態でインストールを継続するとphp.iniの内容変更メッセージが表示されず、うまくインストールできません。 libpdf_php.dll ファイルはこの書籍の添付CDに数種類添付されておりそのなかに4つのフォルダがあります。 php-503 php-510 php-520 php-520-nozts フォルダそれぞれにlibpdf_php.dllファイルが保存されています。 C:\Program Files\php5\ext\にlibpdf_php.dllを保存し、go-pear.batを実行しましたが、 ** WARNING! Old version found at C:\Program Files\PHP5, please remove it or be s ure to use the new c:\program files\php5\pear.bat command The 'pear' command is now at your service at c:\program files\php5\pear.bat * WINDOWS ENVIRONMENT VARIABLES * For convenience, a REG file is available under C:\Program Files\PHP5\PEAR_ENV.re g . This file creates ENV variables for the current user. Double-click this file to add it to the current user registry. 続行するには何かキーを押してください . . . となりやはりうまくインストールできません。 どなたか解決方法がお分かりの方がいたら教えてください。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • PEARのインストールの仕方を教えてください

    こんにちは,よろしくお願いします。 PHPプログラミングを勉強しています。(Windows XP,Apache) PEARの基本機能をインストールしようとして,MS-DOSのコマンドラインからgo-pearを実行しました。そうしたところ,次のようなWarningが表示されて,どうもうまくいっていないようです。どうすればうまくいくのでしょうか?何が悪いのでしょうか? C:\php>go-pear PHP Warning: PHP Startup: pdf: Unable to initialize module Module compiled with module API=20050922, debug=0, thread-safety=1 PHP compiled with module API=20060613, debug=0, thread-safety=1 These options need to match in Unknown on line 0 Are you installing a system-wide PEAR or a local copy? (system|local) [system] : 当然,パッケージのダウンロードやインストールもうまくいきません。pearコマンドは内部コマンドにも外部コマンドにも無いという旨のメッセージが出て,それより先に進みません。(c\phpには,pear.ini以外にpear.*というファイルはありませんでした。) パッケージのインストールまでできる方法を教えてください。(別な方法でもかまいません。)よろしくお願いします。

    • ベストアンサー
    • PHP
  • PHPspreadsheetのインストール

    Composerをインストールした後、コマンドプロンプトから以下のようにしてPHPspreadsheetをインストールしようとしましたが、エラーメッセージが出てきてインストールに失敗しました。 C:\Users\Shiro>composer require phpoffice/phpspreadsheet PHP Warning: PHP Startup: Unable to load dynamic library 'php_dg2.dll' (tried: C:\xampp\php\ext\php_dg2.dll (The specified module could not be found), C:\xampp\php\ext\php_php_dg2.dll.dll (The specified module could not be found)) in Unknown on line 0 Warning: PHP Startup: Unable to load dynamic library 'php_dg2.dll' (tried: C:\xampp\php\ext\php_dg2.dll (The specified module could not be found), C:\xampp\php\ext\php_php_dg2.dll.dll (The specified module could not be found)) in Unknown on line 0 Using version ^1.17 for phpoffice/phpspreadsheet ./composer.json has been created Running composer update phpoffice/phpspreadsheet Loading composer repositories with package information Updating dependencies Your requirements could not be resolved to an installable set of packages. Problem 1 - phpoffice/phpspreadsheet[1.17.0, ..., 1.17.1] require ext-gd * -> it is missing from your system. Install or enable PHP's gd extension. - Root composer.json requires phpoffice/phpspreadsheet ^1.17 -> satisfiable by phpoffice/phpspreadsheet[1.17.0, 1.17.1]. To enable extensions, verify that they are enabled in your .ini files: - C:\xampp\php\php.ini You can also run `php --ini` inside terminal to see which files are used by PHP in CLI mode. Installation failed, deleting ./composer.json. C:\Users\Shiro> メッセージではphp_dg2.dll が無いと言っていますが、xampp/php/ext の中にちゃんと在りますし、php.inファイルの中でも extension=php_dg2.dll を追加してあります。 またメッセージの中に、php と dll が2度繰り返される、ありえないファイル名C:\xampp\php\ext\php_php_dg2.dll.dll というのが見えますが、これはどういうことなのでしょうか。 同じインストールを数時間前に会社でやって上手く行きましたが、今自分の家で同じようにやっても出来ません。私のPCにウイルスでも入ったのでしょうか。 どなたか解決方法が分かる方がいらっしゃいましたら、お知恵を貸していただけないでしょうか?お願いいたします。

    • ベストアンサー
    • PHP
  • PHPにおいてopensslを有効にする方法

    PHP(XAMPP使用)においてopensslを有効にする方法 FuelPHPというフレームワークを導入しようと思い、 「はじめてのフレームワークとしてのFuelPHP」という 電子書籍を購入しました。 その書籍内で、「opensslを有効にする」という項目があり、 php.ini内の指定の場所に、 extension=php_openssl.dll という記述を付け加えるようにと指示がありました。 その通りにしてみたのですが、 Apacheを起動する際に、 PHP Startup: Unable to load dynamic library 'C:\xampp\php\ext\php_openssl.dll' - 指定されたモジュールが見つかりません。 というエラーメッセージが出ました。 そこで、openssl.dllを下記サイトよりダウンロードして、 ( http://jp.softpicks.net/dll/php_openssl-dll-1966 … ) C:\xampp\php\extフォルダの中に、 openssl.dllを入れてみました。 しかし、Apacheを再起動すると、 下記のような「Warning」が2度出ます。 PHP Startup: openssl: Unable to initialize module Module compiled with build ID=API20090606,TS,VC9 PHP compiled with build ID=API20090626,TS,VC6 These options need to match 上記の状態から、どうしても解決出来ないでいます。 ご教授頂けましたら幸いです。宜しくお願い致します。 環境: Windows7 64bit XAMPP Version1.7.2 PHP Version 5.3.0

    • ベストアンサー
    • PHP
  • PHP MySQLモジュールの使用について

    PHPよりmysql_connect関数を呼び出そうとしたところ、 Fatal error: Call to undefined function mysql_connect() in ...path...と表示されます。 各種設定を見直したのですが、どうしても解決できません。 なお、詳細は下記の通りです。 Windows 7 Professional Apache 2.2 / PHP 5.3.3 / MySQL 5.1 >拡張モジュールを有効化 [php.ini] extension_dir = "c:\php\ext" extension=php_mysql.dll; ※パスの先にはphp_mysql.dllが存在する >環境変数 Path C:\Program Files\MySQL\MySQL Server 5.1\bin; ※パスの先にはlibmySQL.dllが存在する Apacheの再起動、PCの再起動を実行したが解決できず。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • apacheが起動するとき、phpのモジュールが正常に読み込まれたかど

    apacheが起動するとき、phpのモジュールが正常に読み込まれたかどうか調べたい。 /etc/apache2/conf.d/php.confに LoadModule php4_module modules/libphp4.so と書いておりますのでapacheはphp4モジュールをロードします。 #/usr/sbin/apache2 -k start -e debug とすると、 [Wed Oct 01 09:21:10 2010] [debug] mod_so.c(246): loaded module php4_module というようにphp4のモジュールがロードされていることが分かります。 そのPHPモジュールはさらにその先のモジュール(xdebug.soやmysql.soなど)を読み込めていないときのエラーを確認したいのです。例えば/etc/php.d/mysql.iniを編集して extension=mysqlaaaaaaaaaaaaaaaa.so などと有りもしないファイル名を書いたとします。この場合にファイルが見つからないというエラーをどこかに出力させたいのですがどのようにしたらよろしいでしょうか。 上記おかしなパスの状態でphpinfo();を実行しても単にmysqlのセクションが表示されなくなっただけの状態で、エラーはかかれていません。#php -v ではエラーが表示されますが、これとapache起動時のエラーは同一ものではないですよね?! # php -v PHP Warning: Unknown(): Unable to load dynamic library '/usr/lib/php4/mysqlaaaaaaaaaaaaaaaa.so' - /usr/lib/php4/mysqlaaaaaaaaaaaaaaaa.so: cannot open shared object file: No such file or directory in Unknown on line 0 バージョン apache 2.2.3 php 4.4.8 よろしくお願いいたします。

    • ベストアンサー
    • PHP

専門家に質問してみよう