• 締切済み
  • すぐに回答を!

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の方は何か設定する必要があるのでしょうか? 大変申し訳ありませんが、 ご教授の方、宜しくお願い致します。

共感・応援の気持ちを伝えよう!

  • 回答数4
  • 閲覧数674
  • ありがとう数4

みんなの回答

  • 回答No.4
  • funcube
  • ベストアンサー率65% (173/266)

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

共感・感謝の気持ちを伝えよう!

質問者からのお礼

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

関連する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
  • 回答No.3
  • funcube
  • ベストアンサー率65% (173/266)

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

共感・感謝の気持ちを伝えよう!

質問者からのお礼

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

  • 回答No.2
  • funcube
  • ベストアンサー率65% (173/266)

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

共感・感謝の気持ちを伝えよう!

質問者からのお礼

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

  • 回答No.1
  • funcube
  • ベストアンサー率65% (173/266)

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

共感・感謝の気持ちを伝えよう!

質問者からのお礼

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

関連するQ&A

  • 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
  • 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
  • PHP4 + PostgreSQL8 + Windows でPHPとPostgresの接続エラー?

    現在、Windowsで以下の環境を構築しています。 Windows XP SP2 Apache 2.0.58 PHP 4.2.2 PostgreSQL 8.1.4 インストールの最後、PHPとPostgreSQLの設定を行ったのですが、 phpinfo()で確認をしても、pgsql という項目は表示されるのに バージョンなどが表示されず、 実際PHPソースで接続してみてもエラーとなってしまいます。 Webを参考にした情報では、php.ini は、 extension_dir = "C:/php/extensions" extension=php_pgsql.dll の2行の設定で認識するという情報しか得られず、行き詰っています。 PHPのフレームワークにMojavi2を使用することになっていますので PHP5にすることはできないのです.... PHP4をPostgreSQL8では相性が悪いのでしょうか? 情報をいただければと思います。よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • PHPとOracleの接続について

    oracle関数を使用したいのですが 『php.ini』の『extension=php_oci8.dll』を有効にして、ブラウザでPHPにアクセスしたら以下のような2つの警告が出ました。 1.プロシージャエントリポイントOCILobFreeTemporaryがダイナミックリンクライブラリOCI.dllから見つかりません。 2.Unknown():Unable to load dynamic library 'd:\php\extensions\php_oci8.dll'-指定されたプロシージャが見つかりません。 extension=php_oci8.dll』を無効にすればPHPは動きます。 環境は下記を使用しています。 NT:4.0 PHP:4.3.0 ORACLE:8.0.6 APACHE:1.3.27 ご存知の方はよろしくお願いいたします。

    • 締切済み
    • 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
  • MySQLをphpから呼びたい..

    phpから、MySQLを使いたくて、MySQL v5.0をインストールしました。 環境は、OS=Win2000 , PHP V5.2.4 です。 初歩的な質問ですいません。 <?php $link = mysql_connect('127.0.0.1:3307', 'pearusr', 'pearpass'); ?> としたところ、下記エラーとなりました。 Fatal error: Call to undefined function mysql_connect() 環境設定が足りないのでしょうか。 ・PHP.INI に、extension=php_mysqli.dll は入れました。 ・システムのPATHに、C:\PHP を追加しました。 このほかに、なにを確認すればいいのでしょうか。

    • 締切済み
    • 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 5.2.1_3 用の pdo を導入したいのですが、 ports ツリーが最新の状態です。 php のバージョンが 5.2.17 に、 php-extensions のバージョンも 1.3 になっています。 この状態で上記の pdo を導入するにはどうしたらいいのでしょうか。 # pkg_info php5-5.2.1_3 PHP Scripting Language (Apache Module and CLI) php5-extensions-1.1 A "meta-port" to install PHP extensions php5-gd-5.2.1_3 The gd shared extension for php php5-mbstring-5.2.1_3 The mbstring shared extension for php php5-mysql-5.2.1_3 The mysql shared extension for php php5-pcre-5.2.1_5 The pcre shared extension for php php5-session-5.2.1_3 The session shared extension for php php5-xml-5.2.1_3 The xml shared extension for php ports/lang/php5 PORTVERSION= 5.3.8 ports/lang/php52 PORTVERSION= 5.2.17 ports/lang/php5-extensions PORTVERSION= 1.5 ports/lang/php52-extensions PORTVERSION= 1.3 ports/databases/php52-pdo で、 make install clean で問題ないものでしょうか。 それとも 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