maki-o memo

制作に関する私的なメモです

選択されているタグ : php , 設定

magic_quotes_gpcという設定から得たもの

今更な内容を知ったのでメモ。

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()

等。


xamppでのphp.ini

phpで、xmlをDOMで制御する場合、xamppでの設定をメモ。

xamppには、c:\xampp\php\にもphp.iniがあるが、 C:\xampp\apache\bin\にもphp.iniがあり、こちらの設定をいじらないと反映されない。

そこの、php_domxml.dll をコメントアウトしたらうまくいった。

charsetを変えた時は、どっちいじったか忘れました。


さくらでのSmarty設置

さくらでの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" );

で、いけました。


さくらのレンタルサーバーで、phpエラーを出す方法

サーバーのルートに、

error_reporting 8191

又は、

display_errors = On

と、記述した、php.ini を設置すればOK。


プロフィール

フロントエンドエンジニア

Tomokazu Makita

名古屋でフリーランスでWeb制作してます。 フロントエンドのことを主にやってます。
a-blog cmsを使用したサイト制作が得意です。
お仕事のご相談随時受付中。

雪山大すき。冬は雪山の合間に仕事します。
財布はいつも吹雪です。

エントリーリスト

タグ