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
          << September 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