PDO MySQLの問題


7

ここ数日間、次のエラーが発生しました。

致命的なエラー:/home/mydomain/public_html/drupal/includes/database/mysql/database.incの46行目の未定義のクラス定数「MYSQL_ATTR_USE_BUFFERED_QUERY」

これは、私のホスティングがアップグレードを行った後に来て、PHPはバージョン5.2.17になりました。彼らが私に言ったことから、私はphp.iniでPDO MySQL拡張を有効にする必要があると思います。問題は、共有ホスティングを使用していて、ファイルにアクセスできないことです。また、私のホスティングは、それを変更することもできないと述べました。私のinfo.phpは示しています:

PDO

PDOサポートが有効な
PDOドライバーsqlite、sqlite2


SQLite 3.x対応
PECLモジュールバージョン用のpdo_sqlite PDOドライバー(バンドル)1.0.1 $ Id:pdo_sqlite.c 293036 2010-01-03 09:23:27Z sebastian $
SQLite Library 3.3.7

私が見つけたいくつかの提案に従って、.htaccessファイルを変更したり、ルートディレクトリに独自のphp.iniファイルを追加したりしましたが、まだ何も試していません。

誰か私が他に何ができるかを提案していただけますか?

編集:

もう一度私はホスティングにPDO_MySQL拡張機能を有効にするように依頼しましたが、彼らはできないと答えました。そのcPanel(PleskからPleskに移行したため、この問題全体を引き起こしました)はこの拡張機能をデフォルトで無効にし、変更するとサーバーに影響します。彼らの解決策は?プログラミングを変更して、これらの新機能に適応するようにします。これは、どうすればよいかさえわからないでしょう。彼らは私がこれをすることを要求しているのでしょうか?他に方法はありますか?

回答:


8

ホスティング業者はその拡張機能を有効にする必要があります。ローカルのphp.iniファイルではそれができないと思います。

私は彼らがそれを行うことができないとは信じていません。彼らが使用しているセットアップに応じて、php.iniにextension = pdo_mysql.soを追加し、パッケージをインストールする必要があるだけです。それを行うのは彼らの仕事です。pdo_mysqlはDrupal 7のハード要件です。


私はすでに彼らに尋ねましたが、彼らの回答は、共有ホスティングアカウントの制限により、設定を変更することはできず、info.phpですでに有効になっている変数のみを持っているというものでした。
brunn

次に、別のホスティングプロバイダーを探す必要があります。PHP拡張機能を有効にできないホスティングプロバイダーに依存したくありません:)
Berdir

ホスティングでこれをエスカレートした後、最終的に拡張機能を有効にしました。しかし、私はすでにクライアントに別のプロバイダーに変更するように話しました:)ありがとう。
brunn

0

私の場合、PHPバージョンをWAMPでスワップすると、このエラーが発生しました。私はphpinfo()をチェックし、PDOが有効になっていることを確認しましたが、その値は空白です

解決策:php.iniファイルのに移動して「extension_dir」を見つけ、そのパスを現在動作しているphpのextディレクトリに変更します。

ex /:extension_dir = "c:/wamp/bin/php/php5.2.9/ext/"

あなたの沼を再起動してください、それは再び働き始めます...

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.