• 締切済み

windowsからlinuxに移行php動作

他の質問サイトでも投稿しております。 現在、windowsサーバーからlinuxサーバーに移行しようとしています。 実際にlinux上でPDOを利用してDB接続を行いたいと思っていますが、 以下のようなエラーがでています。 ■エラー内容 PHP Fatal error: Uncaught exception 'PDOException' with message 'could not find driver' 上記のエラーメッセージの後にはphpのソースのエラー行(「PDO->__construct」のロジックでエラー)が出力されています。 PDOモジュールはインストール済です。(以下、php -mコマンド実施) [PHP Modules] ctype curl date filter gd gettext libxml mbstring mysql mysqli openssl pcre PDO Reflection session SimpleXML SPL standard zip zlib [Zend Modules] ■/usr/local/php/etc/extensions.iniの設定 ※「;」はコメント ;Unix Extensions extension=spl.so extension=simplexml.so extension=session.so ;extension=iconv.so ;extension=bcmath.so ;extension=bz2.so ;extension=calendar.so ;extension=chasen.so extension=ctype.so extension=curl.so ;extension=dba.so ;extension=dbase.so ;extension=dom.so ;extension=exif.so ;extension=ftp.so extension=gd.so extension=gettext.so ;extension=gmp.so ;extension=hash.so ;extension=imap.so ;extension=json.so ;extension=kakasi.so extension=mbstring.so ;extension=mcrypt.so ;extension=mhash.so extension=mysql.so extension=mysqli.so ;extension=namazu.so ;extension=oci8.so extension=openssl.so extension=pdo.so extension=pdo_mysql.so ;extension=pdo_oci.so ;extension=pdo_pgsql.so ;extension=pdo_sqlite.so ;extension=pgsql.so ;extension=posix.so ;extension=pspell.so ;extension=soap.so ;extension=sockets.so ;extension=sqlite.so ;extension=tokenizer.so ;extension=xml.so ;extension=xmlreader.so ;extension=xmlrpc.so ;extension=xmlwriter.so ;extension=xsl.so extension=zip.so extension=zlib.so ちなみにですが、php.iniの方は何か設定する必要があるのでしょうか? 大変申し訳ありませんが、 ご教授の方、宜しくお願い致します。

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

みんなの回答

noname#259146
noname#259146
回答No.4

ご利用のレンタルサーバーの利用規約(変更の自由度等)がわからないためこれ以上の回答が残念ながらできません。 レンタルサーバー会社に問い合わせてください。 下記は知識として見てください。 1.Red Hat Enterprise Linux 4は商用OSですのでサポートは有償です。公開情報は少ないと思ってください。 2.Red Hat Enterprise Linux 4のパッケージ管理ソフトはyumではありません。

tanictanic
質問者

お礼

ご回答ありがとうございます。 >ご利用のレンタルサーバーの利用規約(変更の自由度等)がわからないためこれ以上の回答が >残念ながらできません。 変更は自由にできます。 上記の件、了解いたしました。 以上、宜しくお願い致します。

noname#259146
noname#259146
回答No.3

pdo_mysql.soをインストールする必要があります。 yumはパッケージソフトを管理するためのソフトです。 また >上記はつまりphpを1回アンインストールして >インストールしなおすということでしょうか と理解されるような回答をしていたのでしたら誤解です。 何度も書きますが。 pdo_mysql.soをインストール方法はPHPやMysqlをインストールした方法により違います。 インストール方法はPHPやMysqlをインストールした方法により違います。 どのようにしてLinuxやPHP、Mysqlをインストールしましたか? Linuxは何を使っていますか? Windowsサーバーからlinuxサーバーに移行方法は何かを参考にされましたか?

tanictanic
質問者

お礼

ご返答ありがとうございます。 情報足らずで大変申し訳ありません。 上記、ご回答いたします。 >どのようにしてLinuxやPHP、Mysqlをインストールしましたか? もうしわけありません。 現在、使用しているサーバーはレンタルサーバーでデフォルトでインストールされていましたので インストールの方法はわかりません。 >Linuxは何を使っていますか? 環境は サーバー:Red Hat Enterprise Linux 4 php:5 MySQL:5 >Windowsサーバーからlinuxサーバーに移行方法は何かを参考にされましたか? 「windows linux 移行」で検索したサイトを何個が見てみました。。。 以上、宜しくお願い致します。

noname#259146
noname#259146
回答No.2

PHPでMysqlを使えるようにする場合。 Windowsではどちらも実行ファイルで提供される為必要なDLLを用意すればよいのですが Linuxの場合インストール方法によて方法が違います。 1.ソースから   コンパイル時に設定する 2.パッケージから   必要なものをパッケージからインストールする 内容からパッケージからだと思いますので   たとえば yum だと   yum install php-mysql です 確認は phpinfo()のPDO項目が PDO drivers mysql になっていればOKです。

tanictanic
質問者

お礼

すばやいご回答ありがとうございます!! 上記はつまりphpを1回アンインストールして インストールしなおすということでしょうか? ちなみに「yum」は何でしょうか? 以上、宜しくお願い致します。

noname#259146
noname#259146
回答No.1

使用するDBがPHPから使えないのが原因です phpinfo()のPDO項目を見てください。 利用するDBは表示されていますか? >extension=pdo_mysql.so Mysqlだとするとpdo_mysql.soファイルは存在しますか?

tanictanic
質問者

お礼

ご返信遅くなりまして申し訳ありません。 アドバイスありがとうございます! 下記ご回答いたします。 >phpinfo()のPDO項目を見てください。 >利用するDBは表示されていますか? 「PDO drivers」しか表示されていませんでした。 ここにMySQLが表示されてなくてはMySQLが使用できないということでしょうか? >>extension=pdo_mysql.so >Mysqlだとするとpdo_mysql.soファイルは存在しますか? 「pdo_mysql.so」のファイルがどこにあるのかがわからないのですが、 上記ファイルが作成されるディレクトリは決まっていますでしょうか? もし、「pdo_mysql.so」ファイルがなかった場合、 作成方法をご教授いただけないでしょうか? 申し訳ありませんが、宜しくお願い致します。

関連するQ&A

  • windowsからlinuxに移行php動作

    現在、windowsサーバーからlinuxサーバーに移行しようとしています。 実際にlinux上でPDOを利用してDB接続を行いたいと思っていますが、 以下のようなエラーがでています。 ■エラー内容 PHP Fatal error: Uncaught exception 'PDOException' with message 'could not find driver' PDOモジュールはインストール済です。(以下、php -mコマンド実施) [PHP Modules] ctype curl date filter gd gettext libxml mbstring mysql mysqli openssl pcre PDO Reflection session SimpleXML SPL standard zip zlib [Zend Modules] ■/usr/local/php/etc/extensions.iniの設定 ※「;」はコメント ;Unix Extensions extension=spl.so extension=simplexml.so extension=session.so ;extension=iconv.so ;extension=bcmath.so ;extension=bz2.so ;extension=calendar.so ;extension=chasen.so extension=ctype.so extension=curl.so ;extension=dba.so ;extension=dbase.so ;extension=dom.so ;extension=exif.so ;extension=ftp.so extension=gd.so extension=gettext.so ;extension=gmp.so ;extension=hash.so ;extension=imap.so ;extension=json.so ;extension=kakasi.so extension=mbstring.so ;extension=mcrypt.so ;extension=mhash.so extension=mysql.so extension=mysqli.so ;extension=namazu.so ;extension=oci8.so extension=openssl.so extension=pdo.so extension=pdo_mysql.so ;extension=pdo_oci.so ;extension=pdo_pgsql.so ;extension=pdo_sqlite.so ;extension=pgsql.so ;extension=posix.so ;extension=pspell.so ;extension=soap.so ;extension=sockets.so ;extension=sqlite.so ;extension=tokenizer.so ;extension=xml.so ;extension=xmlreader.so ;extension=xmlrpc.so ;extension=xmlwriter.so ;extension=xsl.so extension=zip.so extension=zlib.so ちなみにですが、php.iniの方は何か設定する必要があるのでしょうか? 大変申し訳ありませんが、 ご教授の方、宜しくお願い致します。

    • 締切済み
    • PHP
  • phpのPDOの導入

    現在OpenPNEというPHPのOSSをUbuntuに入れようとしているのですが、エラーが出て困っています。PHPのバージョンは5.3.6です。またPHPはさわったことがなく、PNEをインストールするためにPHPをインストールしました。 ここから具体的にどのような問題が発生し、それに対してどのような対策をしたか書かせていただきます。 OpenPNEをインストールするために下記のコマンドを実効します。 ・sudo ./symfony openpne:install すると下記のエラーが表示されます。 ・Couldn't locate driver named mysql このエラーはPHPにPDOというものがインストールされていないため起こるエラーのようです。 ですのでPDOをインストールするために下記のコマンドを実効しました。 ・sudo pecl install pdo_mysql しかしエラーは上記のままです。 調べてみるとPHP5.1以上ではPDOがデフォルトで入っているはずです。ですのでphp.iniの末尾に下記の内容を追加しました。 extension=pdo.so extension=pdo_mysql.so extension=pdo_pgsql.so extension=pdo_sqlite.so extension=pdo_firebird.so extension=pdo_dblib.so extension=pdo_oci.so しかしエラーは上記のままです。 以上なのですが、何かお気づきになった点がございましたら、ごかいとういただけると幸いです。

    • ベストアンサー
    • PHP
  • PHPグラフ作成について

    今PHPでGDを使い円グラフを作成しようとしていますが うまくいきません. 環境はwindowsで,PHPversion 5.2.3です. GDを使うためには, PHP.iniの extension=php_gd2.dllの行からコメントをはずして Apacheを再起動すると本に書いてありましたので, PHP.iniの extension=php_gd2.dll extension=php_gettext.dll extension=php_gmp.dll extension=php_ifx.dll extension=php_imap.dll extension=php_interbase.dll extension=php_ldap.dll extension=php_mbstring.dll extension_dir=C:\program Files\PHP\ext extension=php_mcrypt.dll extension=php_mhash.dll extension=php_mime_magic.dll extension=php_ming.dll extension=php_msql.dll extension=php_mssql.dll extension=php_mysql.dll extension=php_mysqli.dll extension=php_oci8.dll extension=php_openssl.dll extension=php_pdo_firebird.dll extension=php_pdo_mssql.dll extension=php_pdo_mysql.dll extension=php_pdo_oci.dll extension=php_pdo_oci8.dll extension=php_pdo_odbc.dll extension=php_pdo_pgsql.dll extension=php_pgsql.dll extension=php_pspell.dll extension=php_shmop.dll extension=php_snmp.dll extension=php_soap.dll extension=php_sockets.dll extension=php_pdo.dll extension=php_pdo_sqlite.dll extension=php_sqlite.dll extension=php_sybase_ct.dll extension=php_tidy.dll extension=php_xmlrpc.dll extension=php_xsl.dll extension=php_zip.dll のコメントをはずし, Apacheをrestartしました. しかし,グラフをつくるプログラムを書いて実行すると, Warning: require_once(jpgraph/jpgraph.php) [function.require-once]: failed to open stream: No such file or directory in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\prog\traning\piegraph.php on line 11 Fatal error: require_once() [function.require]: Failed opening required 'jpgraph/jpgraph.php' (include_path='.;C:\Program Files\PHP\pear') in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\prog\traning\piegraph.php on line 11 のようなエラーが出てしまいます. これはGDがきちんとインストールされていないから, このようなエラーがでるのでしょうか? もしそうであればGDをインストールする方法をご存知の方や 解決方法をご存知の方いらっしゃいましたら いらっしゃいましたら教えていただけないでしょうか? お願いします.

    • 締切済み
    • PHP
  • PHP : pdo_mysql.so

    大変お世話になっております。 今回、PHPでバッチを作成しました。 当然、pdo_mysql.so をドライバーとし、コネクションを生成しようとしておりますが、 「Error:could not find driver」 とエラーが出てしまいます。 そこで、php.ini に設定を行いました。 extension_dir に、実態の配置されているpath extension=pdo.so extension=pdo_mysql.so の設定を行っております。 phpinfo() には、pdo_mysql が表示されています。 また、同一サーバーにZendFramework を利用したアプリケーションが存在しておりますが、 そちらではDBへのアクセスが可能であります。 上記のような現象に思い当たる部分がある方は、 是非ご教示ください。 お手数おかけいたしますが、よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • PHPからMySQLが動かせません

    PHPからmysqlのテーブルを開こうとした際に Fatal error: Call to undefined function mysql_connect() という一文が出ました。 php.iniのextension_dirのパスは一字一句間違っておりませんし、 extension=mysql.so extension=mysqli.so の二文も追加しました。また、その二つのファイルがあることも確認済みです。 また、phpファイルの構文は以下のとおりになっています。 $link = mysql_connect('ローカルホスト', 'ユーザー名', 'パスワード'); if (!$link) { die('接続失敗です。'.mysql_error()); } print('<p>接続に成功しました。</p>'); こちらもいろいろ調べまして、php_mysql.soとphp_mysql.soがないためではないかなどとかんぐっておりますが、そういった記述は私が調べた限りにおいては見かけませんでした。 php_mysql.soとphp_mysql.soというファイルはなくても、mysql.soとmysqli.soというファイルがあれば動くのでしょうか? 仮にphp_mysql.soとphp_mysql.soというファイルがないと動かない場合、何をインストールすればよいのでしょうか? ご回答よろしくお願いします。 また、PHPとMySQLはソースファイルを/usr/ports/distfilesディレクトリにコピーした上でポートからmake、make installしました。 マシンスペック OS…FreeBSD6.4 Apache…1.3.14 PHP…5.2.8 MySQL…5.0.92 都合上、バージョンを他のものに変更することはできません。 追記してくれということがありましたらよろしくお願いします。

  • PHPでOCIドライバが有効にならない

    首記の件、大変困っており、ワラをもつかむ気持ちで質問させていただきました。 Windows2008R2、IIS7(32ビットアプリケーション有効)、FastCGI 上記の環境にPHP(5.3.3)をインストールして使用しております。 PHP.iniを変更し、MySQLやODBCを使用できるようにいたしました。 phpinfoにも表示されておりますし、実際にDBとの接続もできております。 そしてこの度、OCIを利用するため、php.iniから、oci関連のコメントアウトを外しました。 [PHP_OCI8] extension=php_oci8.dll [PHP_OCI8_11G] extension=php_oci8_11g.dll [PHP_PDO_OCI] extension=php_pdo_oci.dll しかし、再起動後もphpinfoには表示されておりません。 OCI関連のパラメータはまだいじっておりませんが、まずは上記コメントアウトした内容が phpinfoに反映されてからと思っております。 この現象について、解決方法をご存知の方がいらっしゃいましたら、ご教示いただきたく。 どうぞよろしくお願いいたします。

  • PHP PDOライブラリが読み込まれない

    いつもお世話になっております。 PHP5+Apache(2.0)+PostgreSQLで開発しております。 OSはWinXP(Pro)SP2です。 PostgreSQLのみ別端末に入れております。 手始めにPDOでPostgreSQLに接続しようとしたところ、「PDOクラスがみつかりません」というようなエラーがでました。 $db = new PDO("mydsn"); ←ここで発生 phpinfo()関数で調べたところ、PDOのライブラリがロードされていないようです。 php.iniには extension_dir = "C:\php\php-5.2.0-Win32\ext" extension=pdo_pgsql.dll extension=php_pdo_pgsql.dll を記述しており、extension_dirには上記DLLが存在することも確認しております。またデータソースの設定として [PDO] pdo.dsn.mydsn="pgsql:host=xxx.xxx.xxx.xxx port=5432 dbname=mydb user=postgres password=sa" を最終行に追加しました。 Apacheの再起動も実行しました。 何か原因となるような箇所がございましたらご教授願います。宜しくお願いします。

    • ベストアンサー
    • PHP
  • php.iniの拡張モジュールGDをONにしたい

    php.iniファイルの記載方法がわかりません。お名前.comにてGDを使用したいのですが、サポートにメールしたら gd、mysqli、xmlrpcは、拡張モジュールとして設置しております ため、お客様にて独自にphp.iniを設置し、ご利用いただく場合に おきましては、設置いただいている「php.ini」ファイルに下記 記載の記述を追加することにより、ご利用可能になります。 extension_dir = "/usr/local/lib/php/extensions" extension = gd.so extension = mysqli.so extension = xmlrpc.so と帰ってきました。php.iniファイルの書き込み方などわからないのでどなたか教えてください!

    • 締切済み
    • PHP
  • PHP5.26でPDO(MySQL)が設定できません

    設定を確認しましたがphpinfo()のPDOの欄がno valueのままです。 PDOを使おうとすると"could not find driver"となります。 PHPのセットアップ時に選択するようになっていたので、 それ以外は何もしていないと思います。 --------------------------------------------------- 環境:Windows/PHP5.26/Apache2.28/MySQL5.0 ■php.ini内 [PHP_PDO] extension=php_pdo.dll [PHP_PDO_MYSQL] extension=php_pdo_mysql.dll [PHP_MYSQL] extension=php_mysql.dll extension_dir ="C:\Program Files\PHP\ext" ■"C:\Program Files\PHP\ext"内 php_pdo_mysql.dll php_pdo.dll php_pdo_mysql.dll 試しにセットアップで全てのDB用のPDOを選択すると、「odbc, sqlite, user」のみ 表示されるようになりました。。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • PHPとMySQLが接続できません。(Linux環境)

    【状態】 ブラウザからサーバのPHPにアクセスした際、MySQLに接続してSelect文を流すスクリプト(仮にselect.phpとします)を作成しました。 しかしブラウザからドキュメントルート直下の同スクリプトにアクセスすると、 Fatal error: Call to undefined function mysql_connect() in [スクリプトのフルパス] on line 14 とエラー表示されてしまいます。 phpinfo()を確認したところ、MySQLのセクションがない状態。 他のWebページを参考にphp-mysqlモジュールをyumでインストールし、php.iniに   extension=mysql.so   extension=mysqli.so と   extension_dir = "/usr/lib/php/modules" の2行を追加しApacheを再起動しましたが、状態変わらずです。 ちなみにApacheとPHPはソースからインストールし、httpd.confもphp.iniも/usr/local/apache2/conf/以下に配置。 httpd.conf中に   PHPIniDir "/usr/local/apache2/conf" の表記もあり、MySQLに接続しないPHPは正常に処理されます。 また、mysql.so/mysqli.soも上記php.iniで指定した"/usr/lib/php/modules"に存在します。 何か原因として考えられる事はありますでしょうか。 心当たりのある方がいらっしゃいましたらアドバイスお願い致します。 【各バージョン ※インストールした順に表記】 OS:CentOS 5.2 (VMWare上で稼働) カーネル:2.6.18-92.el5 Apache:2.2.9 (ソースからコンパイル) PHP:5.2.6 (ソースからコンパイル) php-mysql:5.1.6 (yumでインストール) mysql:5.0.45 (yumでインストール) mysql-server:5.0.45 (yumでインストール) 以上、見にくくて申し訳ありませんが宜しくお願い致します。

    • ベストアンサー
    • PHP