テスト環境においてMySQLでテストデータを作り追加・削除などのチェックをした後に本番データに投入する際に、プライマリキーが重複して困る場合がある。
INSERT INTO `本番`.`items`
SELECT NULL, `hinban`, `name`, `maker_id`, `category_id`, `price` FROM `テスト`.`items`
プライマリーキーの列をNULLにすれば良いらしい。
tacchiniの日記
テスト環境においてMySQLでテストデータを作り追加・削除などのチェックをした後に本番データに投入する際に、プライマリキーが重複して困る場合がある。
INSERT INTO `本番`.`items`
SELECT NULL, `hinban`, `name`, `maker_id`, `category_id`, `price` FROM `テスト`.`items`
プライマリーキーの列をNULLにすれば良いらしい。
tacchiniの日記
早速、symfony の新規プロジェクトを作ろうとすると怒られた。
# symfony init-project test Task "init-project" is not defined.
php-pear がインストール済みか確認する。
# yum list | grep pear php-pear.noarch 1:1.9.1-2.el5.remi installed php-pear-Auth-RADIUS.noarch 1.0.6-1.el5 epel php-pear-Auth-SASL.noarch 1.0.2-4.el5.centos extras php-pear-Benchmark.noarch 1.2.7-1.el5 epel php-pear-CAS.noarch 1.1.2-1.el5 epel php-pear-Cache-Lite.noarch 1.7.5-1.el5 epel php-pear-Console-Getargs.noarch 1.3.4-1.el5 epel php-pear-Console-ProgressBar.noarch 0.5.2-0.2.beta.el5 epel php-pear-Console-Table.noarch 1.1.1-1.el5 epel php-pear-Crypt-Blowfish.noarch 1.0.1-1.el5 epel php-pear-Crypt-CHAP.noarch 1.0.2-1.el5 epel :(略)
php-xml をインストールする。
# yum install php-xml
PHPのチューニングの一つとしてAPCをインストールしてみる。
まずは pear 等をインストール。
# yum --enablerepo=utterramblings install php-pear php-devel httpd-devel
続いて APC をインストール。
まずはリポジトリの登録。
# rpm --import http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka
リポジトリファイルを作成する。
# vi /etc/yum.repos.d/utterramblings.repo [utterramblings] name=Jason Utter Ramblings Repo baseurl=http://www.jasonlitka.com/media/EL$releasever/$basearch/ gpgkey=http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka gpgcheck=1 priority=1 enabled=0
たったこれだけ。
var isMSIE = /*@cc_on!@*/false;”
サンプル。
<html>
<script language="javascript">
var isMSIE = /*@cc_on!@*/false;
if (isMSIE) {
alert('IE!');
} else {
alert('not IE!');
}
</script>
<body>
</body>
</html>
いつものようにPHPでコーディングしていたら以下のエラーが出た。
Parse error: syntax error, unexpected ‘)’, expecting T_PAAMAYIM_NEKUDOTAYIM in /var/www/html/~~
こんなの見たことないんだけど・・・。
ということでググってみると
スコープ定義演算子 (::)
スコープ定義演算子 (またの名を Paamayim Nekudotayim)、 平たく言うと「ダブルコロン」は、トークンのひとつです。 static, 定数 およびオーバーライドされたクラスのプロパティやメソッドにアクセスすることができます。
これらの要素をクラス定義の外から参照する際には、 クラスの名前を使用してください。
PHP 5.3.0 以降では、変数を用いてクラスを参照することも可能です。 変数の値に (self や parent、 static といった) キーワードを指定することはできません。
なぜダブルコロンに Paamayim Nekudotayim という名前をつけたのか、 ちょっと奇妙に感じられるかもしれません。 しかし、Zend Engine 0.5 (PHP 3のエンジン) を 書いている時に、Zend チームはこう呼ぶと決めたのです。 この奇妙な名前は、実はダブルコロンを意味するヘブライ語なのです!
$this->xml = simplexml_load_string($xml);
こんな単純なコードで php で xml をパースする便利な関数 simplexml_load_string でエラーが出ていて悩んでいた。
ぐぐってみると、同じような悩みを持つ人がたくさんいるようで。
以前は下のコードで回避出来ていたけど、今回は無理みたい。
$xml = mb_convert_encoding($xml, "SJIS", "UTF-8"); $xml = mb_convert_encoding($xml, "UTF-8", "SJIS"); $this->xml = simplexml_load_string($xml);
さらにぐぐっていたらこんなの発見。 Continue reading »
現在のphpのバージョンを確認
[root@ariel yum.repos.d]# php -v PHP 5.1.6 (cli) (built: Apr 7 2009 08:00:04) Copyright (c) 1997-2006 The PHP Group Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies
リポジトリを追加。
これでハマッてるんだけど、これでは解決しないんです。
PHP5のSimpleXMLが、rss内に不正な文字列があるとパースエラーを起こしてしまうのだけど、ついに対処法を編み出した。
というか朝思いつきでやったら動いたw
$xmlStr = mb_convert_encoding($xmlStr, “SJIS”, “UTF-8″); //一度sjisにする
$xmlStr = mb_convert_encoding($xmlStr, “UTF-8″, “SJIS”); //またutf8に戻す
mb_convert_encoding 凄いです。。
http://fladdict.net/blog/2006/06/rssutf8.html
と、思ったら解決した。