<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>php MySQL apache などの設定メモ</title>
    <link rel="alternate" type="text/html" href="http://web-gijyutu.com/" />
    <link rel="self" type="application/atom+xml" href="http://web-gijyutu.com/atom.xml" />
    <id>tag:web-gijyutu.com,2010-07-09 | //1</id>
    <updated>2011-10-02T02:27:28Z</updated>
    <subtitle>Web技術者が、php MySQL apache Linux(CentOS)などを使っていて、ふとメモしたくなったことを記録するブログです。</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type 4.261</generator>

<entry>
    <title>file_get_contents が、お名前.com VPS でエラーになる場合</title>
    <link rel="alternate" type="text/html" href="http://web-gijyutu.com/vps/file-get-contents-com-vps.html" />
    <id>tag:web-gijyutu.com,2011://1.26</id>

    <published>2011-10-02T01:53:59Z</published>
    <updated>2011-10-02T02:27:28Z</updated>

    <summary> php の file_get_contents 関数が、お名前.com のVP...</summary>
    <author>
        <name>yukihiro</name>
        
    </author>
    
        <category term="VPS" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="php" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="php" label="php" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="vps" label="VPS" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://web-gijyutu.com/">
        <![CDATA[<p> php の file_get_contents 関数が、お名前.com のVPSで利用しようとすると、なぜかエラーになっていたもよう。</p>

<p>これは、fopen の時点で失敗していた。</p>
<p>原因は、ネームサーバーが起動されていなかったこと。</p>
<p>コントロールパネルの「サービス一覧」から、named を On にして、無事解決しました。</p>
<p><img src="/images/onamae_setting01.png" width="475" height="285"  /></p>
 
]]>
        <![CDATA[<p>というか、このネタって、<a href="http://web-gijyutu.com/php/php-network-getaddresses-getaddrinfo-failed.html">過去の記事</a>で、「こんな現象が起こった」とだけ書いて、解決策を書いてなかったんですね。。。</p>

<p>というわけで、反省して、今回書いておきました。</p>

<p>これで、また同じ問題ではまった時は大丈夫でしょう。（笑）</p>
]]>
    </content>
</entry>

<entry>
    <title>お名前.com VPS で ssh を使う</title>
    <link rel="alternate" type="text/html" href="http://web-gijyutu.com/vps/vps-ssh.html" />
    <id>tag:web-gijyutu.com,2011://1.25</id>

    <published>2011-04-09T04:31:03Z</published>
    <updated>2011-04-09T05:41:07Z</updated>

    <summary> 久しぶりに「お名前.com」のVPS 設定してたら、はまったのでメモ。 ssh...</summary>
    <author>
        <name>yukihiro</name>
        
    </author>
    
        <category term="VPS" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="ssh" label="ssh" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="vps" label="VPS" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="お名前com" label="お名前.com" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://web-gijyutu.com/">
        <![CDATA[<p> 久しぶりに「お名前.com」のVPS 設定してたら、はまったのでメモ。</p>
<p>ssh が繋がらない件。</p>
<p>「システム設定」→「サービス」→「サービス管理」でsshを軌道しているのに繋がらない。</p>
<p>なぜかと思って調べたら、ssh のポートが有効になっていなかった。</p>

<p>「システム設定」→「セキュリティ」→「ファイアーウォール」で、ステータスを「許可する」にして、無事解決。</p>
]]>
        <![CDATA[<a href="http://px.a8.net/svt/ejp?a8mat=1I0FXA+9TO1EI+50+35FPW1" target="_blank">
<img border="0" width="120" height="90" alt="" src="http://www20.a8.net/svt/bgt?aid=090719902594&wid=026&eno=01&mid=s00000000018019053000&mc=1"></a>
<img border="0" width="1" height="1" src="http://www17.a8.net/0.gif?a8mat=1I0FXA+9TO1EI+50+35FPW1" alt="">
]]>
    </content>
</entry>

<entry>
    <title>Cardinality violation: 1241 Operand should contain 1 column</title>
    <link rel="alternate" type="text/html" href="http://web-gijyutu.com/php/cardinality-violation-1241-operand-should-contain-1-column.html" />
    <id>tag:web-gijyutu.com,2011://1.24</id>

    <published>2011-02-27T04:33:29Z</published>
    <updated>2011-02-27T04:40:36Z</updated>

    <summary> ZEND Framework の ZEND_DB でselect しようとした...</summary>
    <author>
        <name>yukihiro</name>
        
    </author>
    
        <category term="MySQL" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="php" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="mysql" label="MySQL" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="php" label="php" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="zend_framework" label="ZEND_Framework" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://web-gijyutu.com/">
        <![CDATA[<p> ZEND Framework の ZEND_DB でselect しようとしたら、表題のエラーが発生。</p>

<p>Cardinality violation: 1241 Operand should contain 1 column</p>

<p><br />
長く悩んだけれど、原因はなんということもない、<br />
「$this->select」と書くべきところを、「$this->db->select」と<br />
書いていたという・・・。<br />
</p>]]>
        <![CDATA[<p>検索して調べたら、日本では情報がなく、海外では、<br />
「SQLはちゃんと通るのに」と言っている人がいました。</p>

<p>確かに、私も「__toString()」使って確かめたら、<br />
ちゃんと通るSQLが作られていたんですよね。</p>

<p>そのくせ、エラーが「SQLエラー」みたいな出かたして<br />
たりするところが、ハマる原因かもですね。<br />
</p>]]>
    </content>
</entry>

<entry>
    <title>XAMPP apache が起動しない場合の対処</title>
    <link rel="alternate" type="text/html" href="http://web-gijyutu.com/apache/xampp-apache.html" />
    <id>tag:web-gijyutu.com,2010://1.22</id>

    <published>2010-12-09T09:12:28Z</published>
    <updated>2010-12-12T06:53:46Z</updated>

    <summary>XAMPPをインストールして利用しようとしたところ、「ポート80 または ポート...</summary>
    <author>
        <name>yukihiro</name>
        
    </author>
    
        <category term="Apache" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="apache" label="apache" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="xampp" label="XAMPP" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://web-gijyutu.com/">
        <![CDATA[<p>XAMPPをインストールして利用しようとしたところ、「ポート80 または ポート443 (SSL) はすでに利用されています。Apache2をサービスとしてインストールするのに失敗しました。」とのメッセージが出て、Apacheだけインストールに失敗しました。</p>

<p>skype が動いていると起こる現象という事で、skypeを止めてみたところ、即解決。</p>

<p>汎用的な話をすれば、「port 80」を使っているプログラムがいた事が原因。</p>

<p>というわけで、以下に「ポート80を使っているプログラムの調査方法」を記載しておきます。</p>
]]>
        <![CDATA[<p>1) Windows のコマンドプロンプトから以下のコマンドを入力。</p>

<p><blockquote>netstat -oan</blockquote></p>

<p>2) [Loval Address]0.0.0.0:80 を使用している <span style="font-weight:bold">pid</span> をメモ。</p>
<p>3) 「タスクマネージャ」の「プロセス」タブを開く。</p>
<p>4) 3) の画面で、「表示」から「列の選択」を選択し、「PID(プロセスID)」にチェックを入れる。</p>
<p>5) 3) の画面に戻り、2) でメモしたpid のタスクを探す。</p>
]]>
    </content>
</entry>

<entry>
    <title>海外サーバーで日本時間を表示する(php)</title>
    <link rel="alternate" type="text/html" href="http://web-gijyutu.com/php/japan-date-time.html" />
    <id>tag:web-gijyutu.com,2010://1.21</id>

    <published>2010-11-21T06:51:36Z</published>
    <updated>2010-11-21T07:05:47Z</updated>

    <summary> 実は、このブログも海外サーバー上で動かしているのですが、案の定、日時がおかしい...</summary>
    <author>
        <name>yukihiro</name>
        
    </author>
    
        <category term="php" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="php" label="php" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://web-gijyutu.com/">
        <![CDATA[<p> 実は、このブログも海外サーバー上で動かしているのですが、案の定、日時がおかしいです。</p>
<p>まあ、現地時間になってしまうのは致し方ないところかもしれませんが。</p>
<p style="padding-top:20px;">しかし、自作のphpプログラムでは、きちんと日本時間で日時を表示する必要性が出てきました。</p>
<p>というわけで、そのための関数サンプルを作って見ました。</p>

]]>
        <![CDATA[<blockquote>
function get_japanTime(){<br />
&nbsp;&nbsp;$time = time() - date("Z");  //ローカル時刻にGMTとの時差を引く<br />
&nbsp;&nbsp;//$localTime=date("Y/m/d H:i:s (D)", $time);//現地時間<br />
&nbsp;&nbsp;$unixTimeStamp = $time + 9*3600;  //日本時間を作成<br />
&nbsp;&nbsp;$datetime = date("Y/m/d H:i:s (D)", $unixTimeStamp);//日付形式に変換<br />
&nbsp;&nbsp;return $datetime;<br />
}
</blockquote>

<p style="padding-top:20px;">使い方は、示すまでもありませんが、こんな感じで。</p>
<blockquote>
$japanese_datetime=get_japanTime();
</blockquote>
]]>
    </content>
</entry>

<entry>
    <title>php_network_getaddresses: getaddrinfo failed:</title>
    <link rel="alternate" type="text/html" href="http://web-gijyutu.com/php/php-network-getaddresses-getaddrinfo-failed.html" />
    <id>tag:web-gijyutu.com,2010://1.20</id>

    <published>2010-09-12T03:23:45Z</published>
    <updated>2011-10-02T02:38:06Z</updated>

    <summary> phpの file_get_contents() 関数使ったら、妙なエラーが・...</summary>
    <author>
        <name>yukihiro</name>
        
    </author>
    
        <category term="VPS" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="php" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="php" label="php" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="vps" label="VPS" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://web-gijyutu.com/">
        <![CDATA[<p> phpの file_get_contents() 関数使ったら、妙なエラーが・・・</p>

<p>php_network_getaddresses: getaddrinfo failed:～</p>

<p><br />
open() 関数でも同様。</p>

<p><br />
色々調べてみたら、URI の解決ができていないっぽいですね。</p>

<p>初めて、お名前.com のVPSを使ってみたのですが、<br />
まさかこんな問題が隠れていようとは。<br />
</p>]]>
        <![CDATA[<p>サーバー設定を色々とやってくれた状態で渡されるようだったので、<br />
これは楽かなと思っていたら、こんな基本的なところの設定が<br />
されていなかったとは。</p>

<p><br />
上位DNSとか設定しないとだめなのかな。</p>

<p>もちょっと調べてみます。</p>

<p><br />
[2011/10/02 追記]<br />
ずいぶんと遅くなりましたが、解決編の記事を下記に記載しました。<br />
<a href="http://web-gijyutu.com/vps/file-get-contents-com-vps.html">file_get_contents が、お名前.com VPS でエラーになる場合</a></p>

<p><br />
う～ん、最低３ヶ月間は利用料金を払わないといけないのがイタイ。</p>

<p>これなら、お試し期間がある「さくらインターネット」のVPSあたりで<br />
先に色々とテストした方がよかったかも。<br />
</p>]]>
    </content>
</entry>

<entry>
    <title>ドキュメントルートのパスをphpで知る</title>
    <link rel="alternate" type="text/html" href="http://web-gijyutu.com/php/doc-root.html" />
    <id>tag:web-gijyutu.com,2010:/my_first_blog//1.17</id>

    <published>2010-06-06T11:36:22Z</published>
    <updated>2010-07-10T12:41:08Z</updated>

    <summary> ドキュメントルートのパスをphpで知るには、どうしたらよいか。 $dr = $...</summary>
    <author>
        <name>yukihiro</name>
        
    </author>
    
        <category term="php" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="php" label="php" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://web-gijyutu.com/">
        <![CDATA[ <p>ドキュメントルートのパスをphpで知るには、どうしたらよいか。</p>

<blockquote>
<p>$dr = $_SERVER['DOCUMENT_ROOT'];</p>
</blockquote>

<p>以上。w</p>
]]>
        <![CDATA[<p class="m30-t">ちなみに、今回、なぜこれが必要になったかというと、階層の違うディレクトリから、同じファイルを参照する要件が出たため。</p>
<p>どこかのサイトでは、「getcwd()」関数を使うなんて書いてあったけど、この関数は、「現在のワーキングディレクトリ」を取得するものですので、用途が違います。</p>
]]>
    </content>
</entry>

<entry>
    <title>ffftp ガンブラー</title>
    <link rel="alternate" type="text/html" href="http://web-gijyutu.com/cat8/ffftp.html" />
    <id>tag:web-gijyutu.com,2010:/my_first_blog//1.19</id>

    <published>2010-02-05T13:46:53Z</published>
    <updated>2010-07-10T12:49:04Z</updated>

    <summary>  「Gumblar（ガンブラー）」ウィルスが猛威をふるっています。 GENOウ...</summary>
    <author>
        <name>yukihiro</name>
        
    </author>
    
        <category term="その他技術のお話" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="ウィルス" label="ウィルス" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="セキュリティ" label="セキュリティ" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://web-gijyutu.com/">
        <![CDATA[ <p> 「Gumblar（ガンブラー）」ウィルスが猛威をふるっています。</p>

<p>GENOウイルスという名称で知っている人もいるでしょう。</p>

<p>FTPの情報を盗んで、サイトの情報を不当に改ざんするウィルスです。</p>

<p>大手企業のサイトも多く改ざんされて話題になっていますね。</p>

<p>このガンブラーですが、困ったことにFFFTPで保存しているFTP情報を盗むタイプも発見されたとのことです。</p>

<p>これはすぐにでも対応する必要があります。</p>

<p>FFFTPの作者さんは、「接続毎にIDとパスワードを入れる形にしてください。」とおっしゃっています。</p>

<p>ただ、複数サイトを管理している場合は、そう簡単にいかない場合もあるでしょう。</p>

<p>そこで、「簡易的に」ではありますが、ウィルスの被害を避けつつ、情報を残す方法を記しておきます。<br />
</p>
]]>
        <![CDATA[<p>まず、ガンブラーが狙うのは、（現在のところ）レジストリに保存されている情報です。</p>

<p>これは、FFFTPを普通にインストールした場合、FTP接続情報がレジストリに保存される形になるためで、ほとんどの人のFTP接続情報がレジストリにあるためです。</p>

<p>この<span class="red b">レジストリ情報は絶対に消しておかなければいけません</span>。</p>

<p>そこで、レジストリの情報を「ffftp.ini」というファイルに保存してから削除します。</p>

<p>レジストリの情報をファイルにバックアップするのは簡単です。<br />
しかも、（おすすめしませんが）これまで通りにFFFTPを利用することもできます。</p>

<p>以下、その手順です。</p>

<p>１）「オプション」→「環境設定」で環境設定を開きます。</p>

<p><img src="/newimg/ffftp001.jpg" width="385" height="154" alt="FFFTP 環境設定" /></p>

<p>２）「その他」タブを開き、「設定をレジストリでなくINIファイルに保存する」にチェックを入れます。</p>

<p><img src="/newimg/ffftp002opt.jpg" width="399" height="322" alt="FFFTP 設定をレジストリでなくINIファイルに保存する" /></p>

<p>３）「OK」ボタンをクリックして、FFFTPを閉じます。</p>

<p>４）FFFTPのプログラムが入っているフォルダ内に「ffftp.ini」ファイルがある事を確認します。</p>

<p><img src="/newimg/ffftp003ini.jpg" width="322" height="229" alt="ffftp.ini" /></p>

<p>５）FFFTPのプログラムが入っているフォルダを他のドライブにコピーするか、同じドライブ内で名前を変えてコピーします。</p>

<p>６）コピー先のFFFTPを起動させて、接続情報など、元の情報が残っている事を確認します。</p>

<p><br />
あとは、FFFTPのプログラム格納フォルダをパスワード付きzipに圧縮して、必要に応じて解凍して使えばよいでしょう。</p>

<p><br />
なお、繰り返しになりますが、<span class="red">FFFTPのレジストリ情報の削除は忘れずに行ってください</span>。</p>

<p>レジストリ情報の削除方法などについては、<a href="http://www2.biglobe.ne.jp/~sota/" target="_blank">作者様のサイト</a>をご参照ください。</p>

<p>また、これも繰り返しですが、上記はあくまで暫定的な処置だとご認識ください。<br />
</p>
]]>
    </content>
</entry>

<entry>
    <title>MTの出力文字コードを手軽に変更するプラグイン（TransEncoding）</title>
    <link rel="alternate" type="text/html" href="http://web-gijyutu.com/movabletype/transencoding.html" />
    <id>tag:web-gijyutu.com,2010:/my_first_blog//1.5</id>

    <published>2010-01-21T03:38:41Z</published>
    <updated>2010-07-09T04:54:14Z</updated>

    <summary>MovableType4.2をいまだ使っている私です。これまで、文字コードをUT...</summary>
    <author>
        <name>yukihiro</name>
        
    </author>
    
        <category term="MovableType" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="mt" label="MT" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://web-gijyutu.com/">
        <![CDATA[<p>MovableType4.2をいまだ使っている私です。<br /><br />これまで、文字コードをUTF-8に統一して利用していましたが、ワケあってShift-JISでファイルを出力する必要にせまられました。<br /><br />しかし、単純に出力文字コードを変更するだけとはいえ、データベースの設定やらmt-config.cgiやらテンプレートやらと色々変更しなければいけないのはあまりにめんどうで、UTF-8と共通して管理する部分などでは保守性に問題も出そうです。<br /><br />これを簡単に、かつ保守性を保ったまま実現する方法はないものかと探していましたら、よいプラグインがありました。<br /><br />TransEncoding というプラグインです。<br /><br />ただ、少し落とし穴もありましたので、合わせてご紹介しておきます。<br /><br /></p>
]]>
        <![CDATA[<p>TransEncoding のダウンロードと設定は、<a href="http://www.skyarc.co.jp/engineerblog/entry/2979.html" target="_blank" rel="nofollow">作者様のサイト</a>を見ていただくのが確実かと思います。</p>

<p><br />
さて、では落とし穴は何かといいますと、実は、このプラグインではMETAタグの文字コード指定部分も書き換えてくれるようなのですが、その際にダブルクォテーションの閉じる部分をけしてしまうバグがあるのです。</p><p><br /></p><p>こういうソースが、</p><p>&lt;meta http-equiv="Content-Type" content="text/html; charset=Shift-JIS<span class="red">"</span> /&gt;<br /></p><p>↓　こうなります。</p><p>&lt;meta http-equiv="Content-Type" content="text/html; charset=Shift-JIS /&gt;<br /></p><p><br /></p><p><br /></p><p>MTの設定を他にも一気に変えた後だったので、しばらく、なぜこうなるのか悩んでいました。</p><p><br /></p><p>これを解決するには、TransEncoding.pl の 42行目 を以下のように修正します。<br />
    </p><p><br /></p><p>（修正前）$$html =~ s/charset=\S+/charset=$ENCODING_NAME/;</p><p>　　　　　　　　　　　　　　　　　↓<br /></p><p>（修正後）$$html =~ s/charset=[^\s"&gt;]+/charset=$ENCODING_NAME/;</p><p><br /></p><p>情報は<a href="http://sourin.net/%7Edarklain/archives/2009/04/post-298.html" target="_blank" rel="nofollow">コチラ</a>を参考にさせていただきました。</p><p>ありがとうございました。</p><p><br /></p>
]]>
    </content>
</entry>

<entry>
    <title><![CDATA[php で &lt;?= $val ?&gt; が動作しない]]></title>
    <link rel="alternate" type="text/html" href="http://web-gijyutu.com/php/php-echo.html" />
    <id>tag:web-gijyutu.com,2010:/my_first_blog//1.16</id>

    <published>2009-11-30T12:32:02Z</published>
    <updated>2010-07-10T12:42:37Z</updated>

    <summary><![CDATA[  php で &lt;?= $val ?&gt; という記述を、&lt;?ph...]]></summary>
    <author>
        <name>yukihiro</name>
        
    </author>
    
        <category term="php" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="php" label="php" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://web-gijyutu.com/">
        <![CDATA[ 
php で &lt;?= $val ?&gt; という記述を、&lt;?php echo $val ?&gt; の代わりに使っているのをよく見ます。<br /><br />php の入門書なんかには全く出てこない記述ですが、なぜか一般的に使われていますね。<br /><br />私自身も、過去にはよく使っていました。<br /><br />今は、html記述部分とロジック部分を完全に分ける書き方になったので、この記述に登場していただく機会もなくなりましたが・・・<br />
]]>
        <![CDATA[しかし、本日、他の人の書いたソースで、この &lt;?= $val ?&gt; の記述部分だけがphpの記述として認識されず、変換されないままhtml ソースにそのまま出力されていました。<br /><br />これはphp標準の機能かと思っていたので、出力されないことにビックリ。<br /><br />よくよく調べてみると、原因は、<span class="_LSUCS">php.iniの設定が、「short_open_tag = Off」になっていたことでした。<br /><br /></span><span class="_LSUCS">php.iniの設定を 「short_open_tag = On」にして、Apacheの再起動で解決。<br />
</span><br />どうでもいいですけど、'&lt;?=' とかで検索しても検索にかからなくて困りますね。<br />
]]>
    </content>
</entry>

<entry>
    <title>APC インストール時のエラー</title>
    <link rel="alternate" type="text/html" href="http://web-gijyutu.com/php/apc-error.html" />
    <id>tag:web-gijyutu.com,2010:/my_first_blog//1.15</id>

    <published>2009-11-28T12:29:02Z</published>
    <updated>2010-07-10T12:42:02Z</updated>

    <summary>  APC(Alternative PHP Cache) のインストール方法では...</summary>
    <author>
        <name>yukihiro</name>
        
    </author>
    
        <category term="php" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="php" label="php" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://web-gijyutu.com/">
        <![CDATA[  <p><a href="http://web-gijyutu.com/php/apc-alternative-php-cache.html">APC(Alternative PHP Cache) のインストール方法</a>では、まるですんなりインストールできたように書いていますが、実際には、いくつか失敗をしてエラーで躓いてました。</p>
<p>同じ失敗を繰り返さないためと、同じ失敗で悩んでいる人のお役に立てばと思い、そのエラー内容と対処策を記録しておきます。</p>
<p>本来の整頓されたインストール手順をご覧になりたい方は、「<a href="http://web-gijyutu.com/php/apc-alternative-php-cache.html">APC(Alternative PHP Cache) のインストール方法</a>」のページをご覧ください。</p>
]]>
        <![CDATA[<p>まずはじめに、いきなり「pecl install APC」コマンドを投入して失敗。</p>
<p class="console">
# pecl install APC<br />
downloading APC-3.0.19.tgz ...<br />
Starting to download APC-3.0.19.tgz (115,735 bytes)<br />
....................done: 115,735 bytes<br />
47 source files, building<br />
running: phpize<br />
sh: phpize: command not found<br />
<span class="red">ERROR: `phpize' failed</span><br />
</p>
<p>おやおや、最後になにやらエラーが。</p>
<p>調べて見ると、どうやら「php-devel」というパッケージモジュールが足りないもよう。</p>
<p>というわけで、早速インストール。</p>
<pre class="console">
# yum -y install php-devel
</pre>
<p>そしてまた、APCのインストールに挑戦。</p>
<pre class="console">
# pecl install APC

（コメント中略）

checking whether apc needs to get compiler flags from apxs...

Sorry, I was not able to successfully run APXS.  Possible reasons:

1.  Perl is not installed;
2.  Apache was not compiled with DSO support (--enable-module=so);
3.  'apxs' is not in your path.  Try to use --with-apxs=/path/to/apxs
The output of apxs follows
/var/cache/php-pear/APC-3.0.19/configure: line 3230: apxs: command not found
configure: error: Aborting
ERROR: `/var/cache/php-pear/APC-3.0.19/configure --with-apxs' failed
</pre>
<p>また何かエラー・・・</p>
<p>「httpd-devel」というパッケージも必要らしいので入れてみる。</p>
<pre class="console">
# yum install httpd-devel
</pre>
<p>そして、再度、APCのインストールに挑戦。</p>
<pre class="console">
# pecl install APC

（メッセージ中略）

Build process completed successfully
Installing '/var/tmp/pear-build-blogogre/install-APC-3.0.19//usr/lib/php/modules/apc.so'
install ok: channel://pecl.php.net/APC-3.0.19
You should add "extension=apc.so" to php.ini
</pre>

<p>最後に、「php.ini」に「extension=apc.so」の一行を追加してねというメッセージがでて無事、インストールを完了しました。</p>
<p>お疲れ様です。</p>
]]>
    </content>
</entry>

<entry>
    <title>APC(Alternative PHP Cache) インストール</title>
    <link rel="alternate" type="text/html" href="http://web-gijyutu.com/php/apc-alternative-php-cache.html" />
    <id>tag:web-gijyutu.com,2010:/my_first_blog//1.14</id>

    <published>2009-11-27T17:26:05Z</published>
    <updated>2010-07-10T12:43:31Z</updated>

    <summary> phpを高速化するアクセラレータ APC(Alternative PHP Ca...</summary>
    <author>
        <name>yukihiro</name>
        
    </author>
    
        <category term="php" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="php" label="php" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://web-gijyutu.com/">
        <![CDATA[ <p>phpを高速化するアクセラレータ <a href="http://php.net/manual/ja/book.apc.php" target="_blank">APC(Alternative PHP Cache) </a>について、以前も少し書いたような気がしますが、実際に使ってみて非常に使い勝手が良かったので、手持ちの他サーバにも入れることにしました。</p>
 <p>対象は、さくらインターネットで借りている専用サーバ(CentOS)です。</p>
 <p>以下、インストール方法とエラーで躓いた点など。</p>
]]>
        <![CDATA[<p>単純にAPCをインストールするだけなら、下記手順となります。</p>
<p class="f11em b">１．APC のインストール準備</p>
<p>APCをPECL でインストールするために必要なモジュールを予めインストールしておきます。<br />
すでにインストールされている場合は、このステップは必要ありません。</p>
<pre class="console">
yum install php-pear.noarch
yum install httpd-devel
yum install php-devel
</pre>
<p class="f11em b">２．APC のインストール</p>
<pre class="console">
pecl install APC
</pre>
<p class="f11em b">３．php.ini の編集</p>
<p>php.ini ファイルの最後に下記一行を追記</p>
<pre class="console">
extension=apc.so
</pre>
<p class="f11em b">４．apache の再起動</p>
<p>apacheを再起動して設定を反映します。</p>
<p class="f11em b">５．phpinfo() 関数で、APCの動作を確認。</p>
<p>phpinfo() 関数を使って、「APC」の文字列で検索をかけてください。<br />
下記のような表示があればAPCは無事に動作しています。</p>
<p><img src="/newimg/apcinfo460.jpg" width="460" height="262" alt="php apc インストール成功" /></p> 

<p>さて、インストール方法の説明だけで長くなってしまいましたので、発生したエラーと対処方法については、別記事で記載します。</p>
]]>
    </content>
</entry>

<entry>
    <title>.isoファイルをCDに焼く方法</title>
    <link rel="alternate" type="text/html" href="http://web-gijyutu.com/cat8/isocd.html" />
    <id>tag:web-gijyutu.com,2009:/my_first_blog//1.18</id>

    <published>2009-11-18T13:45:02Z</published>
    <updated>2010-07-10T12:46:34Z</updated>

    <summary> Linuxサーバが起動できなくなった・・・・というわけで、KNOPPIXを使っ...</summary>
    <author>
        <name>yukihiro</name>
        
    </author>
    
        <category term="その他技術のお話" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://web-gijyutu.com/">
        <![CDATA[ Linuxサーバが起動できなくなった・・・・<br /><br />というわけで、KNOPPIXを使ってデータの退避等を<br />行うことにしました。<br /><br />▼KNOPPIX（日本語版）<br />http://www.rcis.aist.go.jp/project/knoppix/<br /><p> </p>
]]>
        <![CDATA[そこで悩んだのが、isoファイルをCD-ROMに焼いても、<br />CD bootしてくれない（CDから起動してくれない）こと。<br /><br />isoファイルってそのまま焼いても意味がないようです。(^^;;<br /><br /><br />ネット検索で調べていると、「イメージファイルとして」<br />CDに焼けば良いとなっていましたが、手持ちのCD焼きつけソフト<br />では、それを許してくれませんでした。<br />（データ形式が違うとか何とか言って）<br /><br />そこで知人から教えてもらったのが「Deep Burner」というソフト。<br /><br />なんと、「isoファイル」を焼くと明確にメニューで選べます。<br /><br />▼「Deep Burner」<br />http://www.deepburner.com/<br /><br /><br />有償のPro.版もありますが、isoファイルの焼きつけだけであれば、<br />Free版で間に合いました。<br />
]]>
    </content>
</entry>

<entry>
    <title>Vine Linux に MySQL インストール</title>
    <link rel="alternate" type="text/html" href="http://web-gijyutu.com/linux/vine-linux-mysql.html" />
    <id>tag:web-gijyutu.com,2009:/my_first_blog//1.4</id>

    <published>2009-11-17T03:34:25Z</published>
    <updated>2010-07-09T02:37:24Z</updated>

    <summary>  仕事でVine LinuxにMySQLをインストールするという 案件を受けた...</summary>
    <author>
        <name>yukihiro</name>
        
    </author>
    
        <category term="Linux" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="linux" label="Linux" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="mysql" label="MySQL" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://web-gijyutu.com/">
        <![CDATA[  <p>仕事でVine LinuxにMySQLをインストールするという
案件を受けた。</p>

<p>調べてみると、どうやらVine Linuxでは、「apt-get」というLinuxコマンドを使うらしい。</p>

<p>というわけで、早速実施。</p>
]]>
        <![CDATA[<p class=console>
[root@localhost sunplus]# apt-get install MySQL-server MySQL-Max MySQL-client MySQL-shared<br />
パッケージリストを読みこんでいます... 完了<br />
依存情報ツリーを作成しています... 完了<br />
＊ MySQL-shared は既に最新バージョンがインストールされています。<br />
以下の追加パッケージがインストールされます:<br />
  perl-DBI<br />
以下のパッケージが新たにインストールされます:<br />
  MySQL-Max MySQL-client MySQL-server perl-DBI<br />
アップグレード: 0 個, 新規インストール: 4 個, 削除: 0 個, 保留: 51 個<br />
24.2MB/24.8MB のアーカイブを取得する必要があります。<br />
展開後に 51.4MB のディスク容量が追加消費されます。<br />
続行しますか? [Y/n]y<br />
エラー http://updates.vinelinux.org 4.1/i386/plus MySQL-client 5.0.27-0vl3<br />
  404 Not Found<br />
エラー http://updates.vinelinux.org 4.1/i386/plus MySQL-server 5.0.27-0vl3<br />
  404 Not Found<br />
エラー http://updates.vinelinux.org 4.1/i386/plus MySQL-Max 5.0.27-0vl3<br />
  404 Not Found<br />
以下の取得に失敗しました: http://updates.vinelinux.org/apt/4.1/i386/RPMS.plus/MySQL-client-5.0.27-0vl3.i386.rpm  404 Not Found<br />
以下の取得に失敗しました: http://updates.vinelinux.org/apt/4.1/i386/RPMS.plus/MySQL-server-5.0.27-0vl3.i386.rpm  404 Not Found<br />
以下の取得に失敗しました: http://updates.vinelinux.org/apt/4.1/i386/RPMS.plus/MySQL-Max-5.0.27-0vl3.i386.rpm  404 Not Found<br />
E: 幾つかのアーカイブが取得できません。'apt-get update' を実行するか、--fix-missing オプションを試して下さい。<br />
</p>

<p>おや？何やらエラーで入らない。</p>
<p>よくみたら、「apt-get update」をしろと書かれてますね。</p>
<p>システムのアップデートというのは、実際のところ、他のプログラムなどに与える影響が怖いのですが、今回はとりあえず実施。</p>

<p class="console">
[root@localhost sunplus]# apt-get update<br />
取得:1 http://updates.vinelinux.org 4.1/i386 release [2262B]<br />
2262B を 0s 秒で取得しました (8078B/s)<br />
取得:1 http://updates.vinelinux.org 4.1/i386/main pkglist [287kB]<br />
取得:2 http://updates.vinelinux.org 4.1/i386/main release [158B]<br />
取得:3 http://updates.vinelinux.org 4.1/i386/plus pkglist [513kB]<br />
取得:4 http://updates.vinelinux.org 4.1/i386/plus release [166B]<br />
取得:5 http://updates.vinelinux.org 4.1/i386/updates pkglist [244kB]<br />
取得:6 http://updates.vinelinux.org 4.1/i386/updates release [171B]<br />
取得:7 http://updates.vinelinux.org 4.1/i386/nonfree pkglist [23.8kB]<br />
取得:8 http://updates.vinelinux.org 4.1/i386/nonfree release [170B]<br />
取得:9 http://updates.vinelinux.org 4.1/i386/main srclist [119kB]<br />
取得:10 http://updates.vinelinux.org 4.1/i386/plus srclist [222kB]<br />
取得:11 http://updates.vinelinux.org 4.1/i386/updates srclist [51.0kB]<br />
取得:12 http://updates.vinelinux.org 4.1/i386/nonfree srclist [22.1kB]<br />
1481kB を 2s 秒で取得しました (577kB/s)<br />
パッケージリストを読みこんでいます... 完了<br />
依存情報ツリーを作成しています... 完了<br />
Del MySQL-shared 5.0.27-0vl3 [1294kB]<br />
Del postgresql-libs 8.1.5-0vl0 [210kB]<br />
Del php-pgsql 4.4.7-0vl2 [52.9kB]<br />
Del postgresql-server 8.1.5-0vl0 [4440kB]<br />
Del php-apache2 4.4.7-0vl2 [3578kB]<br />
Del postgresql-jdbc 8.1.5-0vl0 [1115kB]<br />
Del dovecot 1.0-0.rc17.0vl1 [1575kB]<br />
Del php-pear 4.4.7-0vl2 [423kB]<br />
Del postgresql 8.1.5-0vl0 [2900kB]<br />
Del php 4.4.7-0vl2 [2003kB]<br />
</p>



<p>そして、再度、「apt-get」を実施。</p>
<p class="console">
[root@localhost sunplus]# apt-get install MySQL-server MySQL-Max MySQL-client MySQL-shared<br />
パッケージリストを読みこんでいます... 完了<br />
依存情報ツリーを作成しています... 完了<br />
以下の追加パッケージがインストールされます:<br />
  perl-DBI<br />
以下のパッケージがアップグレードされます:<br />
  MySQL-shared<br />
以下のパッケージが新たにインストールされます:<br />
  MySQL-Max MySQL-client MySQL-server perl-DBI<br />
アップグレード: 1 個, 新規インストール: 4 個, 削除: 0 個, 保留: 164 個<br />
26.3MB/26.9MB のアーカイブを取得する必要があります。<br />
展開後に 53.2MB のディスク容量が追加消費されます。<br />
続行しますか? [Y/n]y<br />
取得:1 http://updates.vinelinux.org 4.1/i386/plus MySQL-client 5.0.27-0vl6 [6490kB]<br />
取得:2 http://updates.vinelinux.org 4.1/i386/plus MySQL-server 5.0.27-0vl6 [14.8MB]<br />
取得:3 http://updates.vinelinux.org 4.1/i386/plus MySQL-Max 5.0.27-0vl6 [3354kB]<br />
取得:4 http://updates.vinelinux.org 4.1/i386/plus MySQL-shared 5.0.27-0vl6 [1573kB]<br />
26.3MB を 9s 秒で取得しました (2820kB/s)<br />
変更を適用しています...<br />
準備中...                   ########################################### [100%]<br />
   1:perl-DBI               ########################################### [ 20%]<br />
   2:MySQL-client           ########################################### [ 40%]<br />
   3:MySQL-server           ########################################### [ 60%]<br />
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !<br />
To do so, start the server, then issue the following commands:<br />
/usr/bin/mysqladmin -u root password 'new-password'<br />
/usr/bin/mysqladmin -u root -h localhost.localdomain password 'new-password'<br />
See the manual for more instructions.<br />
<br />
Please report any problems with the /usr/bin/mysqlbug script!<br />
<br />
The latest information about MySQL is available on the web at<br />
http://www.mysql.com<br />
Support MySQL by buying support/licenses at http://shop.mysql.com<br />
Starting MySQL.[  OK  ]<br />
   4:MySQL-Max              ########################################### [ 80%]<br />
Restarting mysqld.<br />
   5:MySQL-shared           ########################################### [100%]<br />
完了<br />
[root@localhost sunplus]#<br />
<br />
[root@localhost sunplus]# /sbin/chkconfig mysql on　<span class="orange">（←MySQL自動起動設定）</span><br />
[root@localhost sunplus]# /sbin/chkconfig --list mysql　<span class="orange">(←MySQL自動起動設定確認)</span><br />
mysql           0:off   1:off   2:on    3:on    4:on    5:on    6:off　<span class="orange">（←２～５がonを確認）<br />
</p>

<p>無事にインストールを完了しました。</p>
]]>
    </content>
</entry>

<entry>
    <title>ゼロサプレスを簡単に(php)</title>
    <link rel="alternate" type="text/html" href="http://web-gijyutu.com/php/0suppres.html" />
    <id>tag:web-gijyutu.com,2009:/my_first_blog//1.13</id>

    <published>2009-11-11T05:48:27Z</published>
    <updated>2010-07-09T04:52:26Z</updated>

    <summary> ゼロパディングの方法をド忘れして、検索かけて調べていたら、 なぜかゼロサプレス...</summary>
    <author>
        <name>yukihiro</name>
        
    </author>
    
        <category term="php" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://web-gijyutu.com/">
        <![CDATA[ <p>ゼロパディングの方法をド忘れして、検索かけて調べていたら、
なぜかゼロサプレスの方法をいくつか見かけました。</p>

<p>しかし、どのサイトも何だかややこしい方法を使っています。</p>

<p>そこで、サクッと0サプレスできる方法を書き記しておきます。</p>
]]>
        <![CDATA[<p>例：[$val]をゼロサプレスする場合</p>
<pre class="console">
$result = intval($val);
</pre>

<p>はい、この一行だけです。</p>

<p>もちろん、上記では変数が数値形式になっています。</p>
<p>これは説明上、わかりやすくするために示したものですので、
データ形式が気になる方は下記のようにすればよいでしょう。</p>

<p>例2：[$val]をゼロサプレスして文字列形式の変数化</p>
<pre class="console">
$result = strval(intval($val));
</pre>

<p>例3：ゼロサプレス実行例</p>
<p class="console">
$val='00012';<br />
$result = strval(intval($val));<br />
echo $result; <span class="orange">//結果は12</span>
</p>

<p>お試しあれ。</p>


<p>ちなみに、0パディングは、sprintf()関数を使えば良いですね。</p>
<p>あるいは、str_pad()関数を利用するかですね。</p>
]]>
    </content>
</entry>

</feed>

