今更な内容を知ったのでメモ。
php.iniの設定で、magic_quotes_gpcというのがあるらしい。
これが、Onになってると、デフォルトで、「'」や「"」や「\」などを、エスケープしてしまう。
これを回避するには、php.iniの設定をOffにしてやるか、
やってないけど、.htaccessで、 php_flag magic_quotes_gpc Off の設定をする。
若しくは、stripcslashes関数か、stripslashes関数を使用し、エスケープを元に戻す必要がある。
あと、php.iniの設定を、phpinfo()で見れない場合にも設定を見れる関数群を発見。
- ini_get
- get_include_path()
- get_magic_quotes_gpc()
- get_magic_quotes_runtime()
等。
- tag
- php
- 設定
phpで、xmlをDOMで制御する場合、xamppでの設定をメモ。
xamppには、c:\xampp\php\にもphp.iniがあるが、
C:\xampp\apache\bin\にもphp.iniがあり、こちらの設定をいじらないと反映されない。
そこの、php_domxml.dll をコメントアウトしたらうまくいった。
charsetを変えた時は、どっちいじったか忘れました。
- tag
- php
- xampp
- 設定
さくらでのSmarty設置ですが、
まず、公式サイト(http://www.smarty.net/)から、Smarty本体をDL。
解凍します。
解凍したものの中に、libsフォルダがあるので、それをさくらのサーバーにアップする。
さくらのサーバーの公開ディレクトリまでのパス構造は、
/home/アカウント名/www
になっているが、公開ディレクトリより上層のディレクトリにも設置可能な為、
/home/アカウント名/
に、上記libsフォルダをアップロード。
templatesディレクトリ&templates_cディレクトリも、公開ディレクトリより上層へ設置したかった為、
MySmarty.class.phpを作成。内容は↓
<?php
define ("ROOT_DIR" ,$_SERVER['DOCUMENT_ROOT']."/..");
require_once("Smarty.class.php");
class MySmarty extends Smarty {
function MySmarty () {
$this->template_dir = ROOT_DIR."/templates";
$this->compile_dir = ROOT_DIR."/templates_c";
$this->left_delimiter = "<{";
$this->right_delimiter = "}>";
$this->Smarty();
}
}
?>
デリミタも、<{}>に変更してます。
libs内へアップロード。
phpでの呼び出し時は、
require_once ("../libs/MySmarty.class.php" );
で、いけました。
- tag
- php
- smarty
- さくらインターネット
- 設定