fuelphpで Error - could not find driver in /fuel/core/classes/database/pdo/connection.php on line 113 のエラーとその原因と対応

2017.10.01 Sunday 23:56
0
    fuelphpで Error - could not find driver in /fuel/core/classes/database/pdo/connection.php on line 113 のエラーとその原因と対応

    久しぶりにfuelphpをさわっててサイトを起動したらこのエラーが発生
    ログをみると
    Error - could not find driver in /fuel/core/classes/database/pdo/connection.php on line 113
    driver がないと怒られているが、インストールしてあるしそんなはずはない。
    実際コンソールからは、DBにアクセスできている。
    webブラウザ経由からのサクセスがうまくいかない。
    これにずっとはまっていたのだが、原因が判明

    理由は見ている、db.phpファイルが自分が思ってたファイルと別のファイルだった
    fuelphpでは、
    db.php ファイルが以下の箇所にある。、
    /fuel/app/config/db.php
    /fuel/app/config/development/db.php
    /fuel/app/config/production/db.php
    /fuel/app/config/staging/db.php

    デフォルトでは、
    /fuel/app/config/[各環境]/db.php ファイルを読みに行く
    それがなければ
    /fuel/app/config/db.php
    を参照する。
    なので修正するなら、
    /fuel/app/config/[各環境]/db.php ファイル かもしくはこれらを削除して
    /fuel/app/config/db.php
    を読みに行かせるようにしないといけない。

    これらの設定があることをわすれていた
    /fuel/app/config/[各環境]/db.php ファイル があるのに、一生懸命
    /fuel/app/config/db.php のほうを修正してたのがエラーの原因だったよ。

    category:fuelphp | by:ittoocomments(0)trackbacks(0) | -

    FuelPHPの商用リリースセットアップにおける設定。httpd.confにSetEnv FUEL_ENV productionを書く

    2015.11.09 Monday 06:59
    0
      FuelPHPの商用リリースセットアップにおける設定
      複数環境切り替えは以下で行う

      Apacheで環境変数を設定する

      Apacheの設定で環境変数を指定。開発環境と本番環境のソースを同じにできるので、こっちの方がおすすめ。
      httpd.confのvirtualhost例

      apache で http.conf に以下の「SetEnv FUEL_ENV production」を記す。
      -----------------------------------------------

      DocumentRoot /var/www/html/fuel/public
      ServerName example.com
      SetEnv FUEL_ENV production

      -----------------------------------------------
      *上だと、bootstrap.phpの ソース書き換えがいらないのでこれを採用しよう
      category:fuelphp | by:ittoocomments(0)trackbacks(0) | -

      FuelPHPでSmarty使えるようにした設定メモ

      2015.11.06 Friday 00:32
      0
        FuelPHPでSmarty使えるようにした設定メモ

        FuelPHPでSmartyのテンプレートエンジンを使えるようしたメモ

        ■1 Smartyを配置
        app/vendorにSmartyを配置
        app/vendor/Smarty配下に、Smarty の libs を配置する


        ■2 プロジェクトディレクトリの直下にあるcomposer.jsonを編集
        ------------------------------------------------------------
        "require": {
        "php": ">=5.3.3",
        "fuelphp/upload": "2.0.1",
        "monolog/monolog": "1.5.*",
        "fuelphp/upload": "2.0.*",
        "michelf/php-markdown": "1.4.*",
        "smarty/smarty": "3.*"
        },

        ------------------------------------------------------------


        ■3 php composerを実行
        ------------------------------------------------------------
        $ php composer.phar update
        ------------------------------------------------------------


        ■4 config.phpを編集し、always_loadにparserを追加
        「Parser」パッケージを読み込むようにする。
        fuel/app/config/config.php
        ------------------------------------------------------------
        always_load' => array( ← コメントアウトをはずす
        'packages' => array(
        //'orm',
        'parser', ← コメントアウトをはずす
        ),
        ),
        ------------------------------------------------------------
        これをちゃんとはずさないと
        ErrorException [ Fatal Error ]:Class 'View_Smarty' not found がでるよ



        ■5 テンプレートの拡張子変更(.smarty -> .tpl)
        (これは変えなくても問題なし)
        ------------------------------------------------------------
        fuel/packages/parser/classes/view/smarty.phpの下記のコードを変更

        // public extension = "smarty";
        public extension = "tpl";
        ------------------------------------------------------------



        サンプルテスト
        ■6 コントローラーの作成
        app/classes/controllerの中にもともとあるwelcome.phpの、以下の部分を編集。
        View_Smartyを使用するように変更

        Response::forge(View::forge(); ではなく

        Response::forge(View_Smarty::forge();

        ------------------------------------------------------------
        public function action_index()
        {
        //return Response::forge(View::forge('welcome/index'));
        $data = array(
        'title' => 'タイトルあああ',
        'body' => 'Smartああああ',
        );
        return Response::forge(View_Smarty::forge('welcome/index', $data));
        }
        ------------------------------------------------------------


        ------------------------------------------------------------
        ■7 smsrtyテンプレート の作成
        app/views/welcomeの中に、「index.tpl」というファイルを作成。
        (デフォルトでは、index.smartyだが上で拡張子tplファイルを読むよう変更してる)

        <!DOCTYPE html>
        <html>
        <head>
        <title>{$title}</title>
        </head>
        <body>
        {* これはコメント。見えない *}
        <h2>{$body}</h2>
        </body>
        </html>
        ------------------------------------------------------------

        category:fuelphp | by:ittoocomments(0)trackbacks(0) | -

        fuelphpでsqlite3のDBに接続時に、Fuel¥Core¥Database_Exception [ 1045 ]: SQLSTATE[28000] [1045] Access denied for user '**********'@'localhost' (using password: YES)が発生した時の対応

        2015.11.04 Wednesday 21:19
        0
          少し前からfuelphpをさわってます。
          場所は、ローカルPC
          はじめてfuelphpで、sqlite3のDBに接続しようとしたら以下のエラーが発生
          原因は、DB接続設定を書いたファイルの場所(db.php)が悪かったみたい。

          ■エラー内容
          -------------------------------------------------------------------------------
          Fuel¥Core¥Database_Exception [ 1045 ]:
          SQLSTATE[28000] [1045] Access denied for user '**********'@'localhost' (using password: YES)

          COREPATH/classes/database/pdo/connection.php @ line 113

          108 else
          109 {
          110 $error_code = 0;
          111 }
          112 }
          113 throw new ¥Database_Exception(str_replace($password, str_repeat('*', 10), $e->getMessage()), $error_code, $e);
          114 }
          115
          116 if ( ! empty($this->_config['charset']))
          117 {
          118 // Set the character set
          Backtrace

          COREPATH/classes/database/pdo/connection.php @ line 191
          186 * @throws ¥Database_Exception
          187 */
          188 public function query($type, $sql, $as_object)
          189 {
          190 // Make sure the database is connected
          191 $this->_connection or $this->connect();
          192
          193 if ( ! empty($this->_config['profiling']))
          194 {
          195 // Get the paths defined in config
          196 $paths = ¥Config::get('profiling_paths');
          COREPATH/classes/database/query.php @ line 287
          APPPATH/classes/model/contents.php @ line 14
          APPPATH/classes/controller/test1.php @ line 55
          COREPATH/classes/request.php @ line 444
          DOCROOT/index.php @ line 53
          -------------------------------------------------------------------------------

          fuel¥app¥bootstrap.phpを調べると、Fuel::$env の値は
          Fuel::envは[development]っぽい。
          それなのに、DBへの接続設定を
          ¥fuel¥app¥config¥db.php
          現状では以下にDB設定をしないといけなかった。
          ¥fuel¥app¥config¥development¥db.php
          もしくは、¥fuel¥app¥config¥development¥db.php のファイルが存在しない場合は
          ¥fuel¥app¥config¥db.php を参照してくれるので
          ¥fuel¥app¥config¥development¥db.php ファイルを削除しないといけなかった。
          これで解決した!


          ちなみに、db.phpの設定は以下
          ■db.php(¥fuel¥app¥config¥db.php)
          -------------------------------------------------------------------------------
          return array(
          'default' => array(
          'type' => 'pdo',
          'connection' => array(
          'dsn' => 'sqlite:'.APPPATH.'config/★db名',
          'username' => '',
          'password' => '',
          ),
          'charset' => NULL,
          ),
          );
          -------------------------------------------------------------------------------

          コントローラーファイルは以下
          ■¥fuel¥app¥classes¥controller¥test1.php
          -------------------------------------------------------------------------------
          class Controller_Test1 extends Controller
          {
          public function action_index()
          {
          $query = Model_Contents::get_list(); // namespaceを使用しないModel呼び出し
          -------------------------------------------------------------------------------

          モデルは以下
          ■modelのファイル¥fuel¥app¥classes¥model¥contents.php
          -------------------------------------------------------------------------------
          class Model_Contents extends Model {
          public static function get_list()
          {
          $ret = DB::query('SELECT * FROM ★table名 limit 10 ')->execute()->as_array();
          return $ret;
          -------------------------------------------------------------------------------

          現状は、ローカルPCと商用DBは同じDB設定だから development¥db.php の削除でいいかな
          Fuel¥Core¥Database_Exception [ 1045 ]:
          SQLSTATE[28000] [1045] Access denied for user '**********'@'localhost' (using password: YES)
          はよくでそうなエラーだよね。
          category:fuelphp | by:ittoocomments(0)trackbacks(0) | -

          fuelphpでインストールエラーででて対応した話

          2015.04.16 Thursday 16:29
          0

            fuel1.7.2をダウンロードしてインストールしたら以下のエラーがでたので対応した話
            ■エラー内容
            -----------------------------------
            ( ! ) Fatal error: Class 'Monolog¥Logger' not found in ・・・¥htdocs¥fuelphp¥fuel¥core¥classes¥log.php on line 100
            Call Stack
            # Time Memory Function Location
            1 0.0276 359328 {main}( ) ..¥index.php:0
            2 0.0995 458384 require( 'D:¥xampp¥htdocs¥fuelphp¥fuel¥app¥bootstrap.php' ) ..¥index.php:48
            3 0.2204 988024 Fuel¥Core¥Fuel::init( ) ..¥bootstrap.php:25
            4 0.8370 2351240 logger( ) ..¥fuel.php:199
            5 0.8372 2352016 Fuel¥Core¥Autoloader::load( ) ..¥autoloader.php:0
            6 0.8904 2418264 Fuel¥Core¥Autoloader::init_class( ) ..¥autoloader.php:249
            7 0.8904 2418416 call_user_func ( ) ..¥autoloader.php:375
            8 0.8904 2418416 Fuel¥Core¥Log::_init( ) ..¥autoloader.php:375

            ( ! ) Fatal error: Class 'Monolog¥Logger' not found in ・・・¥htdocs¥fuelphp¥fuel¥core¥classes¥log.php on line 100
            Call Stack
            # Time Memory Function Location
            1 0.0276 359328 {main}( ) ..¥index.php:0
            2 0.0995 458384 require( 'D:¥xampp¥htdocs¥fuelphp¥fuel¥app¥bootstrap.php' )
            -----------------------------------


            ■対応1 fuel/vendor ディレクトリを削除
            fuel/vendor ディレクトリを削除

            ■対応2 composer.jsonファイルの修正
            ・composer.jsonファイルの修正
            "license": "MIT",
            "require": {
            "php": ">=5.3.3",
            "composer/installers": "~1.0"
            },
            箇所に、
            "monolog/monolog": "1.5.*",
            "fuelphp/upload": "2.0.*",
            "michelf/php-markdown": "1.4.*"
            を追加する
            要は
            "license": "MIT",
            "require": {
            "php": ">=5.3.3",
            "composer/installers": "~1.0",
            "monolog/monolog": "1.5.*",
            "fuelphp/upload": "2.0.*",
            "michelf/php-markdown": "1.4.*"
            },
            にする

            ■3 gitでComposerでパッケージインストール実行
            php composer.phar self-update
            php composer.phar update
            を実行



            上3つの対応をしてブラウザから接続したら大丈夫だった
            category:fuelphp | by:ittoocomments(0)trackbacks(0) | -

            ad
            Calender
                 12
            3456789
            10111213141516
            17181920212223
            24252627282930
            31      
            << December 2017 >>
            Selected entry
            PR
            Category
            Archives
            Recent comment
            • マクドナルドでYahoo BBモバイルポイント 公衆無線LANサービスがつながらない
              66hills
            • マクドナルドでYahoo BBモバイルポイント 公衆無線LANサービスがつながらない
              ssd
            • マクドナルドでYahoo BBモバイルポイント 公衆無線LANサービスがつながらない
              max
            • マクドナルドでYahoo BBモバイルポイント 公衆無線LANサービスがつながらない
              DOM
            • マクドナルドでYahoo BBモバイルポイント 公衆無線LANサービスがつながらない
              DOM
            • コンピュータ業界の根本的な変化
              cloud
            • コンピュータ業界の根本的な変化
              Dellの仮想化
            • マクドナルドでYahoo BBモバイルポイント 公衆無線LANサービスがつながらない
              えちごや
            • マクドナルドでYahoo BBモバイルポイント 公衆無線LANサービスがつながらない
              touch
            • マクドナルドでYahoo BBモバイルポイント 公衆無線LANサービスがつながらない
              bob77777
            Recent trackback
            • スマートフォンの法人活用例
              無線LANネットのブログ
            • Yahoo!オークションからのアフィリエイト収入が一気に70%減になってしまい涙目になってる話
              特選情報
            Recommend
            Link
            Profile
            Search
            Others
            Mobile
            qrcode
            Powered
            無料ブログ作成サービス JUGEM