askeetのtutorialでは、slot type cacheはsymfony0.6では動作しないとあるが、0.7.1914でも動作しない。
月別アーカイブ: 2006年11月
Fatal error: Allowed memory size of 8388608 bytes exhaustedというエラー
このエラーは、制限値を超える割り当てを要求した場合に出される。
/etc/php.ini ので変更可能。
最大実行時間を60秒、メモリ制限を12MBに変更する例:
変更前
max_execution_time = 30 ; Maximum execution time of each script, in seconds memory_limit = 8M ; Maximum amount of memory a script may consume (8MB)
変更後
max_execution_time = 60 memory_limit = 12M
sfConfig
sfConfig::set($name, $value), sfConfig::get($name, $default) は定数のようにグローバルに使用できるが、変更もできる。
Internet Explorer 7 RunOnce Removal
http://it.megocollector.com/detail.asp?iFaq=230&iType=25
The annoying Runonce linking to runonce.msn.com/runonce2.aspx either fails to start or you do not want it to start.
There is no reasonable explaination as to the purpose of this link. All settings may be changed within the installation of itself without linking to Microsoft.
I have found solutions for IE 7 Beta 2 and other versions which included registry keys that are not required for the Gold release and I discovered a key that is required, not mentioned anywhere else.
To bypass IE7 Runonce
Create this registry file
----RunOnceDone.reg---------
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main]
"RunOnceComplete"=dword:00000001
"RunOnceHasShown"=dword:00000001
bad interpreter: そのようなファイルやディレクトリはありません
http://yasuharu.net/memo/index.php?id=13
(以下引用 )
Linux - : bad interpreter: そのようなファイルやディレクトリはありません
このエラーは改行コードの違いにより起こるエラーです。
FTPのASCIIモードで更新するファイルを転送している場合などは
このような問題は起こりにくいのですが、
Windows上でファイル編集して、そのままSamba経由で
ファイルを保存している場合などこの問題にあたりやすいです。
このような方法でLinux上のファイルを読み書きしている場合
いつも気をつけておかないと無駄な時間をすごすことになりかねます。
さて、改行コードの直し方ですが、
一番手っ取り早いのはFTPのASCIIモードで転送することでしょうか。
これなら自動的に改行コードを変換してくれます。
ここではLinux上で改行コードの変換の仕方について扱いと思います。
nkf -Lu [入力ファイル] > [出力ファイル]
これで改行コードが変換されたファイルが生成されます。
入力ファイル = 出力ファイルでやると
ファイルの中身が消えるので注意してください。
PEARの環境がおかしくなった場合は
symfonyのplugin-install local を実行すると、pearの環境がおかしくなる。(※)
PEARの環境がおかしくなって、uninstallできなくなったりした場合は、以下の方法で復旧する。
■手動で環境を再設定する
例: phpディレクトリが C:\php5 の場合
pear config-set bin_dir C:\php5 pear config-set doc_dir C:\php5\pear\docs pear config-set php_dir C:\php5\pear pear config-set data_dir C:\php5\pear\data pear config-set test_dir C:\php5\pear\tests
■設定を確認
pear config-show
http://pear.php.net/bugs/bug.php?id=3614
http://www.symfony-project.com/forum/index.php/m/13711/
PHPのCLI
自分の SAPI は何か?: シェルで php -v をタイプすると、 php が CGI なのか CLI なのかわかります。
http://jp2.php.net/manual/ja/features.commandline.php
default_culture設定が効かない
default_culture設定が効かない
app/frontend/config/setting.yml
all: .settings: default_culture: ja_JP
解決方法は、以下を参照。
userのデフォルトcultureを設定する
データベース接続を取得する
名前を指定して接続を取得
$con = sfContext::getInstance()->getDatabaseConnection('name');
または
$con = Propel::getConnection('name');
'name'を指定しない場合はデフォルトデータベースの接続を返す。
forwardすると、actionのインスタンス変数が引き継がれない
forwardすると、$thisのインスタンス変数が引き継がれない。(forward先のアクションのviewで元アクションでセットしたインスタンス変数が使えない。)
なので、forwardする代わりに、
return array('api', 'errorSuccess');
とした。
0.6.3ではこれでOKだったが、0.7.1914では、template/xxxxArray.phpが見つかりませんというエラーになる。(xxxxはアクション名)
したがって、
forwardを使い、forward先で使用する値は、$this->getRequest()->setAttribute($name, $value)
で保存しておく。