[Symfony1.4] Strict、Deprecated エラーや Warning を表示させない設定方法

 

Symfony1.4 にて、PEARを使うと、StrictエラーやらDeprecatedエラーやらが大量に出力されました。
 

エラーの出力設定を php.ini で変更したのですが、Symfonyのプログラムでは反映されていませんでした。
 

Symfonyには プロジェクトホーム/apps/frontend/config/settings.yml に error_reporting が書かれているので、php.ini の設定をこれで上書きしてしまっているようです。
 

ちなみに、「error_reporting」というワードが記載されているファイルは以下のように grep コマンドで探します。
 

1
2
3
4
5
# grep -R error_reporting ./
 
./cache/frontend/dev/config/config_settings.yml.php:  'sf_error_reporting' => 32767,
./apps/frontend/config/settings.yml:    error_reporting:        <?php echo (E_ALL | E_STRICT)."\n" ?>
./apps/frontend/config/settings.yml:    error_reporting:        <?php echo ((E_ALL | E_STRICT) ^ E_NOTICE)."\n" ?>

 

該当しそうな部分が見つかりました。
 

cache の config_settings.yml.php に ‘sf_error_reporting’ => 32767, とあり、32767 デフォルトのE_ALL | E_STRICTなので、php.ini の設定がSymfony側に反映されていないことが、ここで確認できます。
 

デフォルトでは settings.yml は以下のようになっています。
 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# You can find more information about this file on the symfony website:
# http://www.symfony-project.org/reference/1_4/en/04-Settings

prod:
  .settings:
    no_script_name:         true
    logging_enabled:        false

dev:
  .settings:
    error_reporting:        <?php echo (E_ALL | E_STRICT)."\n" ?>
    web_debug:              true
    cache:                  false
    no_script_name:         false
    etag:                   false

test:
  .settings:
    error_reporting:        <?php echo ((E_ALL | E_STRICT) ^ E_NOTICE)."\n" ?>
    cache:                  false
    web_debug:              false
    no_script_name:         false
    etag:                   false

all:
  .settings:
    # Form security secret (CSRF protection)
    csrf_secret:            ebfxa42b0x90387xd2fx4d24xd00xxx38c1a9x16
 
    # Output escaping settings
    escaping_strategy:      true
    escaping_method:        ESC_SPECIALCHARS
 
    # Enable the database manager
    use_database:           true

 

dev の部分を以下のように変更して、Strict エラーと Deprecated エラーを表示させないようにします。
 

1
2
3
dev:
  .settings:
    error_reporting:        <?php echo (E_ALL & ~E_DEPRECATED)."\n" ?>

 

以上です。
 
 

[Symfony1.4] フォーム(Form)/バリデーター(Validator)関連の参考サイトまとめ

 

Symfony1.4 にて フォームを使うときに読む記事を一覧にしました。
 

色んなページからアクセスするのが面倒なのでまとめてみました。
 

blogチュートリアル(9) 記事の追加 | 日本Symfonyユーザー会 はてなブックマーク - blogチュートリアル(9) 記事の追加 | 日本Symfonyユーザー会

blogチュートリアル(10) データのバリデーション | 日本Symfonyユーザー会 はてなブックマーク - blogチュートリアル(10) データのバリデーション | 日本Symfonyユーザー会
 

A Gentle Introduction to symfony | 第10章 – フォーム | symfony | Web PHP Framework はてなブックマーク - A Gentle Introduction to symfony | 第10章 - フォーム | symfony | Web PHP Framework
 

symfony Forms in Action | symfony | Web PHP Framework はてなブックマーク - symfony Forms in Action | symfony | Web PHP Framework
 
  ・第1章 – フォームの作成

  ・第2章 – フォームのバリデーション

  ・第3章 – Web デザイナのためのフォーム

  ・第4章 – Propel との統合

  ・第8章 – 国際化とローカライゼーション

  ・第11章 – Doctrine との統合

  ・付録 A – ウィジェット

  ・付録 B – バリデータ
 

The More with symfony book | 高度なフォーム | symfony | Web PHP Framework はてなブックマーク - The More with symfony book | 高度なフォーム | symfony | Web PHP Framework
 

直接、フォームとは関係ないですが、セッションは一緒によく使うのでメモ。
 

さぼてん: 【symfony】セッションの利用~アクション~ はてなブックマーク - さぼてん: 【symfony】セッションの利用~アクション~
 

(随時、更新予定です)
 

CentOSにMySQLをyumでインストール

CentOS5.6 に MySQL5.0.77 を yum でインストールしました。(標準で入ってますけどね)

インストール手順、初期設定はこちらを参考にしました。

・参考:データベースサーバー構築(MySQL) – CentOSで自宅サーバー構築 はてなブックマーク - データベースサーバー構築(MySQL) - CentOSで自宅サーバー構築

以上です。

[Linux] ログイン時にコマンドやプログラムを自動実行させる方法

CentOSにログインした時にコマンドやプログラムを自動実行させる方法を調べたのでメモ。

ログイン時にユーザが独自でプログラムを実行させたい場合には、 .bash_profile ファイルにシェルスクリプトを書きます。

僕は、起動時に export で認証付きプロキシを通すのと、ntpdate で時刻同期させたかったので以下のようにしました。

■ .bash_profile(編集前)

# .bash_profile
 
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi
 
# User specific environment and startup programs
 
PATH=$PATH:$HOME/bin
 
export PATH
unset USERNAME

■ .bash_profile(編集後)

最後の行に以下の2行を追加しました。

# プロキシ認証
export http_proxy=http://[ユーザ名]:[パスワード]@[IPアドレス]:[ポート番号]/
# 時刻同期
ntpdate [IPアドレス]

これでログイン時にプロキシ認証と時刻同期を自動でしてくれるようになりました。

以上です。

[VirtualBox] 画面サイズ変更のためにGuest Additionsをインストール

VirtualBoxにインストールしたWindows7の画面サイズを変更する設定をしたのでメモ。

Guest Additionsをインストールすれば画面サイズを変更できるようになるみたいです。

VirtualBoxを大画面で使う(Guest Additions)

MacとWindowsを同時使用できる無料の仮想化ソフト「VirtualBox」の使い方 / Inforati

Guest AdditionsのインストールにはVBoxGuestAdditions.isoが必要です。

Macではこのファイルのパスがアプリケーションのパッケージ内にあるため一旦、デスクトップなどにコピーしてから

「デバイス」→「CD/DVD デバイス」→「仮想CD/DVDディスクファイルの選択」

で読み込みましょう。

VBoxGuestAdditions.iso ファイルの場所

[Mac]
/Applications/VirtualBox.app/Contents/MacOS/VBoxGuestAdditions.iso
 
[Windows7]
C:\Program Files\Oracle\VirtualBox\VBoxGuestAdditions.iso

Windows7 だとメニューバーの「デバイス」→「Guest Additionsのインストール」からインストールできます。

以上です。