<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
   <title>WEBアプリケーション開発メモ</title>
   <link rel="alternate" type="text/html" href="http://drunk.chips.jp/web/" />
   <link rel="self" type="application/atom+xml" href="http://drunk.chips.jp/web/atom.xml" />
   <id>tag:drunk.chips.jp,2012:/web//3</id>
   <updated>2012-02-18T06:16:35Z</updated>
   
   <generator uri="http://www.sixapart.com/movabletype/">Movable Type 3.34</generator>

<entry>
   <title>PHP 5.2.17 インストール</title>
   <link rel="alternate" type="text/html" href="http://drunk.chips.jp/web/2012/02/php_5217.html" />
   <id>tag:drunk.chips.jp,2012:/web//3.27962</id>
   
   <published>2012-02-18T06:14:29Z</published>
   <updated>2012-02-18T06:16:35Z</updated>
   
   <summary>デフォルトで PHP 5.1.6の場合 キーのインストール # wget htt...</summary>
   <author>
      <name></name>
      
   </author>
         <category term="Linux" scheme="http://www.sixapart.com/ns/types#category" />
         <category term="PHP" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="ja" xml:base="http://drunk.chips.jp/web/">
      デフォルトで PHP 5.1.6の場合

キーのインストール

# wget http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka
# rpm --import RPM-GPG-KEY-jlitka


レポジトリファイルの作成
# vi /etc/yum.repos.d/utterramblings.repo

[utterramblings]
name=Jason&apos;s Utter Ramblings Repo
baseurl=http://www.jasonlitka.com/media/EL$releasever/$basearch/
#使用するときだけ1に設定する
#enabled=1
enabled=0
gpgcheck=1
gpgkey=http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka

インストール
# yum --enablerepo=utterramblings install php

確認
# php -v
PHP 5.2.17 (cli) (built: Sep  1 2011 17:22:41) 
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2010 Zend Technologies

      
   </content>
</entry>
<entry>
   <title>phpでCronを書き換える</title>
   <link rel="alternate" type="text/html" href="http://drunk.chips.jp/web/2012/01/phpcron.html" />
   <id>tag:drunk.chips.jp,2012:/web//3.26698</id>
   
   <published>2012-01-22T18:03:41Z</published>
   <updated>2012-01-22T18:06:08Z</updated>
   
   <summary>ユーザー単位のcronは/var/spool/cron/　にユーザー名で保存され...</summary>
   <author>
      <name></name>
      
   </author>
         <category term="Linux" scheme="http://www.sixapart.com/ns/types#category" />
         <category term="PHP" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="ja" xml:base="http://drunk.chips.jp/web/">
      ユーザー単位のcronは/var/spool/cron/　にユーザー名で保存されてるから
ここを書き換えればいい。

しかし、パーミッションが600とか644じゃないと動かない。
cron BAD FILE MODE 

権限あたりが面倒なので
どこか一時的な場所に書き出して /var/spool/cron/以下にコピーするのがいいみたい。
コピー先にあらかじめファイルを作っておき、パーミッションを600にしておく。
上書きしてもパーミッションは引き継がれるため。
      
   </content>
</entry>
<entry>
   <title>SE Linuxを無効にする</title>
   <link rel="alternate" type="text/html" href="http://drunk.chips.jp/web/2012/01/se_linux_1.html" />
   <id>tag:drunk.chips.jp,2012:/web//3.26356</id>
   
   <published>2012-01-15T15:49:41Z</published>
   <updated>2012-01-15T16:05:40Z</updated>
   
   <summary># echo 0 &gt; /selinux/enforce...</summary>
   <author>
      <name></name>
      
   </author>
         <category term="Linux" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="ja" xml:base="http://drunk.chips.jp/web/">
      # echo 0 &gt; /selinux/enforce
      
   </content>
</entry>
<entry>
   <title>デバッグ用メソッド</title>
   <link rel="alternate" type="text/html" href="http://drunk.chips.jp/web/2012/01/post_16.html" />
   <id>tag:drunk.chips.jp,2012:/web//3.26140</id>
   
   <published>2012-01-11T04:01:28Z</published>
   <updated>2012-01-11T04:02:54Z</updated>
   
   <summary>　// デバッグ用メソッド 　function trace($str){ 　　$...</summary>
   <author>
      <name></name>
      
   </author>
         <category term="PHP" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="ja" xml:base="http://drunk.chips.jp/web/">
      　// デバッグ用メソッド
　function trace($str){
　　$_dir = &quot;/home/neo-cosmic/www/gree_botan_develop/cp/app/log/&quot;;
　　//$log_file = $_dir . date(&apos;Y-m-d&apos;) .&apos;.log&apos;;
　　
　　$_date = date(&apos;Y-m-d&apos;);
　　$_d = explode(&apos;-&apos;, $_date);
　　
　　if(!opendir(&quot;{$_dir}/{$_d[0]}&quot;)) mkdir(&quot;{$_dir}/{$_d[0]}&quot;, 0777);
　　//if(!opendir(&quot;{$_dir}/{$_d[0]}/{$_d[1]}&quot;)) mkdir(&quot;{$_dir}/{$_d[0]}/{$_d[1]}&quot;, 0777);
　　//$log_file = $_dir.&quot;{$_d[0]}&quot; .&apos;/&apos;.&quot;{$_d[1]}&quot;.&apos;/&apos;.$_date .&apos;.log&apos;;
　　$log_file = $_dir.&quot;{$_d[0]}&quot; .&apos;/&apos;.$_date .&apos;.log&apos;;
　　
　　$fp = fopen($log_file, &quot;a+&quot;);
　　if (!(empty($fp))) {
　　　flock($fp, LOCK_EX);
　　　fputs($fp, date(&apos;H:i:s&apos;).&apos; : &apos;);
　　　fputs($fp, $str);
　　　fputs($fp, &quot;\n\n&quot;);
　　　flock($fp, LOCK_UN);
　　　fclose($fp);
　　}
　}
      
   </content>
</entry>
<entry>
   <title>yum install php-eaccelerator</title>
   <link rel="alternate" type="text/html" href="http://drunk.chips.jp/web/2011/12/yum_install_phpeaccelerator.html" />
   <id>tag:drunk.chips.jp,2011:/web//3.25489</id>
   
   <published>2011-12-28T02:43:29Z</published>
   <updated>2011-12-28T02:52:35Z</updated>
   
   <summary>レポジトリのインストール wget http://download.fedora...</summary>
   <author>
      <name></name>
      
   </author>
         <category term="Linux" scheme="http://www.sixapart.com/ns/types#category" />
         <category term="PHP" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="ja" xml:base="http://drunk.chips.jp/web/">
      レポジトリのインストール
wget http://download.fedora.redhat.com/pub/epel/6/i386/epel-release-6-5.noarch.rpm
rpm -Uvh epel-release-6-5.noarch.rpm 

wget http://rpms.famillecollet.com/enterprise/remi-release-5.rpm
rpm -Uvh remi-release-5.rpm

php-eacceleratorを確認後、インストール
yum list &quot;php-eaccelerator*&quot;
yum install php-eaccelerator
php -v
ls /etc/php.d/

eaccelerator.ini内の値を書き換え
eaccelerator.shm_size = &quot;32&quot;
      
   </content>
</entry>
<entry>
   <title>PHP内で処理時間を設ける場合</title>
   <link rel="alternate" type="text/html" href="http://drunk.chips.jp/web/2011/12/php_35.html" />
   <id>tag:drunk.chips.jp,2011:/web//3.24800</id>
   
   <published>2011-12-13T16:17:20Z</published>
   <updated>2011-12-13T16:19:25Z</updated>
   
   <summary>// 開始時間 $start_time=microtime(true); //メ...</summary>
   <author>
      <name></name>
      
   </author>
         <category term="PHP" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="ja" xml:base="http://drunk.chips.jp/web/">
      // 開始時間
$start_time=microtime(true);

//メイン処理

// 終了時間
$end_time=microtime(true);

// 処理時間
$syori_zikan=$end_time - $start_time;

// 60秒たってたら終わりにする
if(intval($syori_zikan)&gt;60) exit;
      
   </content>
</entry>
<entry>
   <title>PHP　アクセスした端末を判別する</title>
   <link rel="alternate" type="text/html" href="http://drunk.chips.jp/web/2011/11/php_34.html" />
   <id>tag:drunk.chips.jp,2011:/web//3.23497</id>
   
   <published>2011-11-16T11:48:16Z</published>
   <updated>2011-11-16T11:49:57Z</updated>
   
   <summary>　　function getDevice() 　　{ 　　　　$carrier ...</summary>
   <author>
      <name></name>
      
   </author>
         <category term="PHP" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="ja" xml:base="http://drunk.chips.jp/web/">
      　　function getDevice()
　　{
　　　　$carrier = &quot;&quot;;
　　　　if(array_key_exists(&apos;HTTP_USER_AGENT&apos;,$_SERVER)){
　　　　　　$ua = $_SERVER[&apos;HTTP_USER_AGENT&apos;];
　　　　　　if(strstr($ua,&apos;DoCoMo&apos;)){
　　　　　　　　$carrier = &apos;DOCOMO&apos;;
　　　　　　}elseif(strstr($ua,&apos;J-PHONE&apos;) || strstr($ua,&apos;Vodafone&apos;) || strstr($ua, &apos;SoftBank&apos;) || strstr($ua, &apos;MOT&apos;)){
　　　　　　　　$carrier = &apos;SOFTBANK&apos;;
　　　　　　}elseif(strstr($ua,&apos;UP.Browser&apos;) || strstr($ua,&apos;KDDI&apos;)){
　　　　　　　　$carrier = &apos;AU&apos;;
　　　　　　}elseif(strstr($ua,&apos;iPad&apos;)){
　　　　　　　　$carrier = &apos;IPAD&apos;;
　　　　　　}elseif(strstr($ua,&apos;iPhone&apos;)){
　　　　　　　　$carrier = &apos;IPHONE&apos;;
　　　　　　}elseif(strstr($ua,&apos;Android&apos;)){
　　　　　　　　$carrier = &apos;ANDROID&apos;;
　　　　　　}else{
　　　　　　　　$carrier = &apos;PC&apos;;
　　　　　　}
　　　　}else{
　　　　　　$carrier = &apos;PC&apos;;
　　　　}
　　　　return $carrier;
　　}
      
   </content>
</entry>
<entry>
   <title>PHP　時刻の比較</title>
   <link rel="alternate" type="text/html" href="http://drunk.chips.jp/web/2011/11/php_33.html" />
   <id>tag:drunk.chips.jp,2011:/web//3.23496</id>
   
   <published>2011-11-16T10:49:19Z</published>
   <updated>2011-11-16T11:50:39Z</updated>
   
   <summary>YYYY-MM-DD hh:mm:ss　の書式の2つの日時を比較して差を分で返却...</summary>
   <author>
      <name></name>
      
   </author>
         <category term="PHP" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="ja" xml:base="http://drunk.chips.jp/web/">
      YYYY-MM-DD hh:mm:ss　の書式の2つの日時を比較して差を分で返却するメソッド

function compareTime($date1, $date2) {
　　
　　// 日時を前半と後半に分割
　　$t1 = explode(&quot; &quot;, $date1);
　　// 前半を分割
　　$d1 = explode(&quot;-&quot;, $t1[0]);
　　// 後半を分割
　　$d2 = explode(&quot;:&quot;, $t1[1]);
　　　　
　　// 日時を前半と後半に分割
　　$t2 = explode(&quot; &quot;, $date2);
　　// 前半を分割
　　$d3 = explode(&quot;-&quot;, $t2[0]);
　　// 後半を分割
　　$d4 = explode(&quot;:&quot;, $t2[1]);
　　
　　　　　　　　// hour　　minute　　sec　　　　month　　day　　　　year
　　$dt1 = mktime($d2[0], $d2[1], $d2[2], $d1[1], $d1[2], $d1[0]);
　　$dt2 = mktime($d4[0], $d4[1], $d4[2], $d3[1], $d3[2], $d3[0]);
　　$diff = $dt1 - $dt2;
　　
　　return ceil($diff/60); // 60で割って分で返却
}
      
   </content>
</entry>
<entry>
   <title>Services_Amazonのエラー</title>
   <link rel="alternate" type="text/html" href="http://drunk.chips.jp/web/2011/11/services_amazon.html" />
   <id>tag:drunk.chips.jp,2011:/web//3.23114</id>
   
   <published>2011-11-08T16:14:13Z</published>
   <updated>2011-11-08T16:16:44Z</updated>
   
   <summary>Amazon returned invalid HTTP response co...</summary>
   <author>
      <name></name>
      
   </author>
         <category term="PHP" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="ja" xml:base="http://drunk.chips.jp/web/">
      Amazon returned invalid HTTP response code 400

こんなエラーコードが帰ってくる場合

サーバーの時計がずれていることが原因かもしれません
      
   </content>
</entry>
<entry>
   <title>Cron結果のメール通知をやめる</title>
   <link rel="alternate" type="text/html" href="http://drunk.chips.jp/web/2011/10/cron_1.html" />
   <id>tag:drunk.chips.jp,2011:/web//3.21501</id>
   
   <published>2011-10-06T01:45:44Z</published>
   <updated>2011-10-06T01:46:43Z</updated>
   
   <summary>/etc/crontab MAILTO=root　→　MAILTO=&apos;&apos;...</summary>
   <author>
      <name></name>
      
   </author>
         <category term="Linux" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="ja" xml:base="http://drunk.chips.jp/web/">
      /etc/crontab

MAILTO=root　→　MAILTO=&apos;&apos;
      
   </content>
</entry>
<entry>
   <title>CentOS webmin インストール</title>
   <link rel="alternate" type="text/html" href="http://drunk.chips.jp/web/2011/10/centos_webmin_2.html" />
   <id>tag:drunk.chips.jp,2011:/web//3.21460</id>
   
   <published>2011-10-05T05:40:30Z</published>
   <updated>2011-10-05T05:41:08Z</updated>
   
   <summary># wget http://prdownloads.sourceforge.ne...</summary>
   <author>
      <name></name>
      
   </author>
         <category term="Linux" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="ja" xml:base="http://drunk.chips.jp/web/">
      # wget http://prdownloads.sourceforge.net/webadmin/webmin-1.570-1.noarch.rpm
# rpm -i webmin-1.570-1.noarch.rpm 
      
   </content>
</entry>
<entry>
   <title>Cent OS gitインストール</title>
   <link rel="alternate" type="text/html" href="http://drunk.chips.jp/web/2011/10/cent_os_git.html" />
   <id>tag:drunk.chips.jp,2011:/web//3.21366</id>
   
   <published>2011-10-03T07:03:17Z</published>
   <updated>2011-10-03T07:04:28Z</updated>
   
   <summary># rpm -qpl http://repo.webtatic.com/yum/...</summary>
   <author>
      <name></name>
      
   </author>
         <category term="Linux" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="ja" xml:base="http://drunk.chips.jp/web/">
      # rpm -qpl http://repo.webtatic.com/yum/centos/5/latest.rpm
# rpm -ivh http://repo.webtatic.com/yum/centos/5/latest.rpm
# yum install --enablerepo=webtatic git

# git --version
git version 1.7.6.1

      
   </content>
</entry>
<entry>
   <title>Cent OSのアップデート</title>
   <link rel="alternate" type="text/html" href="http://drunk.chips.jp/web/2011/10/cent_os.html" />
   <id>tag:drunk.chips.jp,2011:/web//3.21364</id>
   
   <published>2011-10-03T06:53:55Z</published>
   <updated>2011-10-03T06:56:24Z</updated>
   
   <summary># cat /etc/redhat-release CentOS release...</summary>
   <author>
      <name></name>
      
   </author>
         <category term="Linux" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="ja" xml:base="http://drunk.chips.jp/web/">
      # cat /etc/redhat-release
CentOS release 5.3 (Final)

# yum clean all
# yum update glibc\*
# yum update yum\* rpm\* pyth\*
# yum clean all
# yum update mkinitrd nash
# yum update selinux\*
# yum update

# cat /etc/redhat-release
CentOS release 5.7 (Final)
      
   </content>
</entry>
<entry>
   <title>PHPデバッグ用メソッド</title>
   <link rel="alternate" type="text/html" href="http://drunk.chips.jp/web/2011/09/php_32.html" />
   <id>tag:drunk.chips.jp,2011:/web//3.21093</id>
   
   <published>2011-09-27T15:31:05Z</published>
   <updated>2011-09-27T15:32:04Z</updated>
   
   <summary>function trace($str){ 	 	$log_file = PAT...</summary>
   <author>
      <name></name>
      
   </author>
         <category term="PHP" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="ja" xml:base="http://drunk.chips.jp/web/">
      function trace($str){
	
	$log_file = PATH_TO_LOG_DIR . date(&apos;Y-m-d&apos;) . &apos;.log&apos;;
	$fp = fopen($log_file , &quot;a+&quot;);
	
	if (!(empty($fp))) {
		flock($fp, LOCK_EX);
		fputs($fp, date(&quot;Y-m-d H:i:s&quot;).&quot;\n&quot;);
		fputs($fp, $str.&quot;\n&quot;);
		flock($fp, LOCK_UN);
		fclose($fp);
	}
}

trace(文字列);　　でログを出力。
ちょっとしたデバッグ用に
      
   </content>
</entry>
<entry>
   <title>phpMyAdminでレコードの更新、削除、DUMPができない場合</title>
   <link rel="alternate" type="text/html" href="http://drunk.chips.jp/web/2011/09/phpmyadmindump.html" />
   <id>tag:drunk.chips.jp,2011:/web//3.21091</id>
   
   <published>2011-09-27T15:06:46Z</published>
   <updated>2011-09-27T15:08:00Z</updated>
   
   <summary># chmod 777 -R /var/lib/php/session/ セッシ...</summary>
   <author>
      <name></name>
      
   </author>
         <category term="MySQL" scheme="http://www.sixapart.com/ns/types#category" />
         <category term="PHP" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="ja" xml:base="http://drunk.chips.jp/web/">
      # chmod 777 -R /var/lib/php/session/

セッション書き込みディレクトリに書き込めない場合に動作不良が起こるようです。
      
   </content>
</entry>

</feed>

