<?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>2010-07-10T12:41:08Z</updated>
    <subtitle>Web技術者が、php MySQL apache Linux(CentOS)などを使っていて、ふとメモしたくなったことを記録するブログです。</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type 4.261</generator>

<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>

<entry>
    <title>css min-height で、div ボックスを上手く作成</title>
    <link rel="alternate" type="text/html" href="http://web-gijyutu.com/css/css-min-height-div.html" />
    <id>tag:web-gijyutu.com,2010:/my_first_blog//1.7</id>

    <published>2009-11-02T05:28:37Z</published>
    <updated>2010-07-09T04:32:08Z</updated>

    <summary>  div タグのスタイルシート表記でボックスを作る際、画像があると、枠線が画像...</summary>
    <author>
        <name>yukihiro</name>
        
    </author>
    
        <category term="css(スタイルシート)" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="css" label="css" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://web-gijyutu.com/">
        <![CDATA[  <p>div タグのスタイルシート表記でボックスを作る際、画像があると、枠線が画像の大きさに広がらずにおかしなボックスになることはありませんか？</p>

<p>そう、下図のように。</p>

<img src="/newimg/css_rei01.jpg" width="280" height="193" alt="div box 失敗例" /><br />


<p>▼上記画像におけるcss</p>
<pre class="console">
.researchlink{
    border:1px solid #333;
    margin:2px;
    padding:2px;
}
</pre>

<p>どうやら、デフォルトでは、文字の範囲だけが対象となり、画像の大きさは無視されているようです。</p>


<p>それならば、最低限、画像の大きさを確保しておきたいと考えたところ、便利なcss表記を見つけました。</p>
]]>
        
    </content>
</entry>

<entry>
    <title>yum update</title>
    <link rel="alternate" type="text/html" href="http://web-gijyutu.com/centos/yum-update-linux.html" />
    <id>tag:web-gijyutu.com,2009:/my_first_blog//1.3</id>

    <published>2009-10-26T02:27:26Z</published>
    <updated>2010-07-09T02:33:56Z</updated>

    <summary> しばらく、Linuxシステム を全くアップデートしていませんでした。 まあ、下...</summary>
    <author>
        <name>yukihiro</name>
        
    </author>
    
        <category term="CentOS" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="centos" label="CentOS" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://web-gijyutu.com/">
        <![CDATA[ <p>しばらく、Linuxシステム を全くアップデートしていませんでした。</p>

<p>まあ、下手なアップデートをしたら、現状動作しているものが動作しなくなるなんていう事態は、よくあることなので、正常に動作しているものには極力手を加えないのがコツではあります。</p>

<p>とはいえ、今回は、直感で必要性を感じて、アップデートを実施。</p>
]]>
        <![CDATA[<p>「yum update」をそのままコマンドラインに投入してしまいました・・・</p>

<p class="console"># yum update</p>
<p>我ながら、なんて乱暴な・・・(^^;;</p>
<p>まあ、特に問題もなかったのでよいです。（笑）</p>
<p>ちなみに、「yum update」の速度を速くするために、下記のコマンドを事前に打つと良いという情報がありました。</p>
<p class="console"># yum install yum-fastestmirror</p>
<p>しかし、今回、そのまま「yum update」を投げ込んだら、上記コマンドも自動で投げ込まれていたようでした。</p>
<p>CentOS 便利です。</p>
<p>更新するかどうか聞かれなかった気もしますが、気にしない。(^^;</p>
<p>本来、無条件に更新は、下記コマンド投入した時ですよね？</p>
<p class="console"># yum -y update</p>
]]>
    </content>
</entry>

<entry>
    <title>allow_call_time_pass_reference</title>
    <link rel="alternate" type="text/html" href="http://web-gijyutu.com/php/allow-call-time-pass-reference.html" />
    <id>tag:web-gijyutu.com,2009:/my_first_blog//1.12</id>

    <published>2009-10-25T04:45:45Z</published>
    <updated>2010-07-09T04:47:20Z</updated>

    <summary> 古いphpスクリプトを使うと、普段見ないようなエラーを見ることができるのだけれ...</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>

<p class="console"><b>Warning:</b> Call-time pass-by-reference has been deprecated - argument passed by value; If you would like to pass it by reference, modify the declaration of getusers(). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file. However, future versions may not support this any longer.</p>
このメッセージは、「関数のコール時に引数を強制的に参照で渡す機能の有効/無効を設定」する事に関するWarningメッセージのようです。

<p>以下のようなソースを書いていると出るメッセージですね。<br />
</p>
]]>
        <![CDATA[<p class="console">
$existingusers = getusers(<span class="red">&$status</span>,0);<br /><br />function getusers(&$status, $changestatus=1) {<br />　・<br />　・<br />　・<br /></p>

<p>とりあえずの対処法は、「.htaccess」に以下の一文を入れること。<br />
<p class="console">php_flag allow_call_time_pass_reference on</p></p>

<p>根本的な対処は、参照渡しをやめるようにphpソースを書き換えることですね。<br />
でないと、将来サポートは保証されていないようです。</p>
]]>
    </content>
</entry>

<entry>
    <title>PECL APC と PEAR でコンフリクト？</title>
    <link rel="alternate" type="text/html" href="http://web-gijyutu.com/php/pecl-apc-pear.html" />
    <id>tag:web-gijyutu.com,2009:/my_first_blog//1.10</id>

    <published>2009-10-22T04:40:02Z</published>
    <updated>2010-07-09T04:42:24Z</updated>

    <summary> PECL APC （Alternative PHP Cache） を利用したく...</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>PECL APC （Alternative PHP Cache） を利用したくなり、手持ちの専用サーバにインストールしてもらったら、なんと、PEAR の XML_RSS のパースにおいて空データがはきだされるようになってしまいました・・・</p>

<p>ちなみに、Cache_Lite は正常動作しています。</p>

<p><br />
</p>
]]>
        <![CDATA[<p>サーバ管理していただいている方のお話では、PECL APC と PEAR でコンフリクトするような話は聞いたことがないということでしたので、他の原因なのかも分かりませんが、まさかの事態にアタフタ。</p>

<p>提供中のサービスの一部が使えないので、早急に対応しなくては。</p>

<p>また、無料サービスだったのが救いです・・・</p>

<p>[2009.10.16 追記]<br />
原因は、phpで参照しているlibexpatに不具合があったからとのことで。<br />
まあ、復活してよかったです。(^^)<br />
</p>
]]>
    </content>
</entry>

<entry>
    <title>CSSで画像切替（ロールオーバー）</title>
    <link rel="alternate" type="text/html" href="http://web-gijyutu.com/css/css.html" />
    <id>tag:web-gijyutu.com,2009:/my_first_blog//1.8</id>

    <published>2009-10-20T04:33:15Z</published>
    <updated>2010-07-09T04:35:12Z</updated>

    <summary>  ロールオーバーでの画像切替をスタイルシートで簡単に実現する方法について。 ち...</summary>
    <author>
        <name>yukihiro</name>
        
    </author>
    
        <category term="css(スタイルシート)" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="css" label="css" 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>ちなみに、どのような動きを実現するのかは一目見ていただければ一目瞭然なので、サンプルへのリンクを下記に記しておく。</p>

<p>▼こちらから飛んだ先で実現する動きを確認していただきたい<br />
<a href="http://web-gijyutu.com/sample/rollover.html" target="_blank">CSSで画像切替（ロールオーバー）の例</a></p>

<p><br />
さて、上記リンク先の動きを実現しようとネットで検索をかけてみると、<br />
当然ながら(?)、「a:hover」を用いるものが多く見られる。</p>

<p>それで、実現手段としては、「背景画像の位置をずらして表示する」<br />
というものだ。</p>

<p><br />
だけれども、この方式だと、第一に画像の大きさが２倍になり、読み込みが重くなりそうだし、<br />
そもそも、画像を結合して一つにするのがめんどくさい。（やってみた ^^;）</p>

<p><br />
そんな悩みを抱えていたある日、どこかで面白い記述方法を見つけた。<br />
以後、その方法でcssによるロールオーバーでの画像切替を行っている。</p>
]]>
        <![CDATA[<p><br />
要点が分かりやすいように、極力無駄を省いたソースになっているので、<br />
分かる人はソースを見ていただければご理解いただけるかと思いますが、<br />
以後、少し解説を。</p>

<p><br />
実際のところ、ポイントとなるのは、下記の部分だ。</p>

<p>▼css<br />
<div class="console"></p>

<p>.rollover_banner{<br />
	display:block;<br />
	text-indent:-9999px;<br />
	background: url(../images/banner_up.jpg) no-repeat center top;<br />
	width: 340px;<br />
	height: 67px;<br />
}</p>

<p>.rollover_banner:hover{<br />
	display:block;<br />
	text-indent:-9999px;<br />
	background: url(../images/banner_hover.jpg) no-repeat center top;<br />
	width: 340px;<br />
	height: 67px;<br />
}</p>

</div>

<p>▼バナー部分のhtml<br />
<div class="console"><br />
&lt;a href=&quot;http://web-gijyutu.com/&quot; class=&quot;rollover_banner&quot;&gt;php MySQL apache などの設定メモ&lt;/a&gt;<br />
</div></p>

<p><br />
気づいていただけたか分からないが、「:hover」の使い方が、「a:hover」ではなく、「(クラス名):hover」となっている。</p>

<p>それを&lt;a&gt;タグのクラスとして利用するのだ。</p>

<p>これで驚くほど簡単に画像の切り替えが実現できる。</p>

<p>「(クラス名):hover」で変えているのは、バックグラウンドの画像リンクだけだ。</p>

<p>つまり、切り替え前と切り替えた後の二つの画像を用意しておけばよい。</p>

<p><br />
ぜひ、お試しいただきたい。<br />
</p>
]]>
    </content>
</entry>

<entry>
    <title>PECl APC のキャッシュ削除忘れを防ぐために</title>
    <link rel="alternate" type="text/html" href="http://web-gijyutu.com/php/pecl-apc.html" />
    <id>tag:web-gijyutu.com,2009:/my_first_blog//1.11</id>

    <published>2009-10-16T04:42:58Z</published>
    <updated>2010-07-09T04:44:48Z</updated>

    <summary> PECl APC（Alternative PHP Cache）の話を前回に引き...</summary>
    <author>
        <name>yukihiro</name>
        
    </author>
    
        <category term="php" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="apc" label="APC" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="pecl" label="PECL" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="php" label="php" 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><strong>PECl APC</strong>（Alternative PHP Cache）の話を前回に引き続いて。</p>

<p>PECL APC(ALter) を使うと、phpの処理が12倍になったという話もあるようです。</p>

<p>実際、メモリ上にキャッシュを配置するわけですし、CをコンパイルされているPECLモジュールの特製からいっても、PEARの Cache_Lite より数段速くなるだろうことは想像がつきます。</p>

<p>しかし、デメリットとして、ゴミのようなデータがいつまでもメモリ上に残っていたりしたら、それは大変な無駄を生みだし、メモリを不用意に圧迫する可能性が予想できますね。</p>

<p>Web上のサンプルサースを見ていると、意外にも生存期間を指定していない形のものが多くて、なんちゃってプログラマの人が真似してサンプルを使ったら、ちょっと後々怖いことになりそうかなと思いました。(^^;</p>]]>
        <![CDATA[<p>まあ、ソース公開しているような人たちは、だいたいが熟練者なので、阿吽の呼吸といいますか、基礎、あるいは前提というものが高い位置にありますので、初心者の方は気を付けてください。</p>

<p>と、話がそれましたが、一応、キャッシュを削除したいときに削除できるようにしておくというのは必要かなと思います。</p>
<p>それで、ちょっとしたアイデアですが、削除処理をキャッシュの設定処理の前にコメントアウトして書いておくというのはどうでしょう？</p>

<pre class="console">
//if (($html = apc_fetch('html')) === TRUE) { 
//	apc_delete('html');  
//}
	
if (($html = apc_fetch('template')) === false) { 
	$html=file_get_contents('template/index.html'); 
	apc_store('template', $html);  
}
</pre>


<p>こうしておけば、読みこんだキャッシュデータが古くなった時、一度上部の削除処理のコメントアウトを外す事で簡単に古いキャッシュをクリアできますね。</p>

<p>生存期間を指定して、余計な処理を増やしたくない場合によいかと。</p>

<p>個人的には、それでも生存期間を書いておいた方がよい気がしますけどね。</p>
]]>
    </content>
</entry>

</feed>
