php開発中にWarning: mysql_connect(): [2002] No such file or directory (trying to connect via unix:///tmp/mysql.sock) …… が出たとき

Macでphpを開発中に Warning: mysql_connect(): [2002] No such file or directory が出たとき

mysql.sockのパスが違うのが原因です。

対応方法

1.mysql.sockファイルを探す

どこにあるか探しましょう。

2.confファイルにphp_valueで設定します。

3.確認

でphpinfoを表示するものを定義し、
http://local.localhost/info.php
で確認しましょう

その他の対応

php.iniの該当箇所を

を変える。

.htaccessに

を定義する。

個人的にはオススメしませんが、.phpファイルに直接

という手もあります。

FuelPHPでのデバッグ

FuelPHPでデバッグ

fuelphp profiler

configでプロファイラをONにする方法とDebugクラスを利用する方法があります。

configでプロファイラを制御する

configでプロファイラ表示をONします

データベースをプロファイルするときはdb.phpにもprofilingを定義します。

Debugクラスを利用する

公式サイトより

これら2つを使ってデバッグしましょう。

FuelPHPでスマホとPCのテンプレート切り替え(Controller_Templateの継承)

FuelPHPでスマートフォンとPCでテンプレートファイルを切り替える。

Controller_Templateを継承したクラスを利用してモバイル(スマートフォン)とPCで
テンプレートを切り替えます。

コントローラー

継承元となるクラス。ここでテンプレートファイルを切り替えます。

上のクラスを継承したコントローラーで利用します。

FuelPHPでsmartyを使用する

FuelPHPでsmartyを使用する

FuelPHPにて、smartyを使用してみます。

composerを使用したインストール手順とサンプル

configにparserを追加

composer.jsonに”smarty/smarty”: “3.*” を追加し、update

“smarty/smarty”: “3.*” を追加する。追加した上の行の最後に , を忘れずに

composerに追加したあとはupdateしましょう。

これで準備は整いました。

コントローラーの作成

テンプレートの作成

http://domain/sample
にアクセスすると、Smartyを使用したテンプレートが見れるはずです。

FuelPHPでSmartyを利用した共通テンプレート化 (Controller_Templateの継承)

FuelPHPでSmartyを利用した共通テンプレートの分割

テンプレートの共通的な処理をまとめるため
Controller_Templateを継承したクラスを利用してテンプレートを分割してみます。

コントローラー

継承元となるクラス。ここで各画面で共通なテンプレートを呼び出します。

上のクラスを継承したコントローラー

テンプレート

まず枠となるテンプレート
※Controller_BaseTemplateでファイル名を指定することもできます。

継承元となるクラスで指定したテンプレート

コントローラーで指定した変数を表示するテンプレート

http://ドメイン/sampletemplate/

にアクセスすると確認できます。

FuelPHPでmodel呼び出しを行う (クエリビルダ)

FuelPHPでmodel呼び出しを行う

FuelPHPにて、いくつかのパターンでモデルを呼び出してみます。

!!! 【注意】model名は小文字で。命名規則があるので注意しましょう !!!

namespaceを使用したModel呼び出し その1

公式サイト
http://press.nekoget.com/fuelphp_doc/general/models.html
にある呼び出し

namespaceを使用したModel呼び出し その2

コントローラーからの呼び出し方法を変えました。

namespaceを使用しないModel呼び出し

おまけ

今回はDBクラスのクエリビルダを使用したサンプルでした。

オブジェクトリレーショナルマッパー(ORM)を使用してデータベースにアクセスすることも可能です。

FuelPHPでsqliteを使う

FuelPHPでsqliteを使用する

設定ファイルに記載

Tips confファイルの環境別定義

定義済み環境

FuelPHPは開発環境により、設定ファイルを切り替えられるようになっています。

developmentで動作しているとき、
fuel/app/config/db.php を読み込み、
fuel/app/config/development/db.php で上書きします。
上の例では
fuel/app/config/db.php に定義した為、
fuel/app/config/development/db.phpを削除しました。

各環境は以下のとおり

環境を切り替える

動作環境を変更するには2案あります。

①(推奨)

を変更するか、もしくはwebサーバのconfで適用。

もしくは、


Fuel::DEVELOPMENT
Fuel::PRODUCTION
Fuel::STAGING
Fuel::TEST
に変更する

FuelPHP を始める インストールとフォルダパーミッション

FuelPHP

FuelPHPを始めましょう

クイックインストール

公式サイト
より引用

最初に覚えたいフォルダ構成

アプリケーションを作成する上で、まず最初に知りたいフォルダのみピックアップして説明を記載します。

バーチャルホストへの設定

バーチャルホストで定義することをおすすめします。

参考)

http://application.com/ へアクセス後

とでたとき、

と修正しましょう。

Welocomeページが表示されると成功です。

パーミッション関連でのエラー

ディレクトリのパーミッションが適切でない場合、以下のようなエラーが出ます。

そのようなときは、適切なディレクトリにパーミッションを与えましょう。

CentOSにphp5.5をインストールする

CentOS6.5にphp5.5をインストールする

バージョン確認。

EPELとREMIレポジトリを追加

5.5をインストールしたいのでEPELとREMIレポジトリを追加

インストールする前に確認

ライブラリのインストール

経験則からの適当なライブラリを選んで、インストール

apache起動

apacheはインストールされているので割愛。サービスの起動のみ

phpinfo確認

php動作の確認の為phpinfoの表示

動作確認

mac側から http://192.168.56.11/test.php にアクセスして動作の確認。

VirtualBoxを使ってホスト:mac ゲスト:CentOSの開発環境を設定する