Sunday, September 21, 2008

tar.bz2の解凍

tar jxvf aaa.tar.bz2

tar xvfz tar xvfz qmail-1.03.tar.gz

Thursday, September 11, 2008

apache1.3とPHP4とPHP5

apacheとPHP4で運用していてphp5を試したいときにの方のための記述
php5(cgi)で行う。
インストールは例--with-apxs2や--with-apxsをつけないでインストールする。

その後以下のようにシンボリックリンクを張ります。

apache/cgi-bin/php5 -> /bin/php-cgi 

php-cgiは コマンドラインから実行するとヘッダ (text/html)を出力する


apacheの設定ファイルを以下のようにします。
<Directory "/**/apache/cgi-bin">
Options +ExecCGI +FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>

<Directory "/home/tomo/htdocs">
AddHandler php5-script .php
Action php5-script /cgi-bin/php5
Options +ExecCGI +FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>

指定の場合
/home/tomo/htdocsの下のphpはphp5のcgiとして実行されます。

Wednesday, September 10, 2008

mod_perl

apache2とmod_perl

perl Makefile.PL MP_APXS=/usr/bin/apxs2
make
make install

httpd.conf

AddHandler cgi-script .cgi .pl
LoadModule perl_module lib/httpd/modules/mod_perl.so

<Files *.pl>
SetHandler perl-script
# PerlHandler ModPerl::PerlRun
PerlResponseHandler ModPerl::Registry

PerlSendHeader On
Options +ExecCGI
</Files>

確認の方法
#!/usr/bin/perl
print "Content-type: text/plain\n\n";
foreach $key (sort keys %ENV) {
print "$key = $ENV{$key}\n";
}
で $ENV{'MOD_PERL'}があればOK

Tuesday, September 09, 2008

L 99 99 99 99 99 99 99 99

liloが壊れている


CDまたはDVDブートでlinuxを立ち上げて lilo.confを修正する。

Monday, September 08, 2008

USB HD(ハードディスク)の接続 for Linux

USBをPCに接続後に以下のコマンドを入力し、USBが正しく認識されているか確認する。

cat /proc/bus/usb/devices
cat /proc/scsi/scsi
(HDはscsi 扱い)

問題ない場合dmesgコマンドを実行し、認識されている情報を取得

SCSI device sda: 20028960 512-byte hdwr sectors (10255 MB)
sda: Write Protect is off
sda: Mode Sense: 23 00 00 00
sda: assuming drive cache: write through
sda: sda1 sda2

sda1とsda2で認識されている。
元々HDはLinuxで使用していたものなので
sda1はswap パーティンション

マウントの場所を作成
mkdir /mnt/usb (例)
mount /dev/sda2 /mnt/usb

アンマウントは以下になります。
umount /mnt/usb

PHP キャッシュされないため

header("Content-type: text/html; charset=utf-8");
header("Expires: -1");
header("Last-Modified: ". gmdate("D, d M Y H:i:s"). " GMT");
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");

Smarty 設定確認用PHP

単純にSmartyをインストールしたときに動作するかの確認

phpinfo();
で確認してから
---

<?php
require_once( 'MySmarty.class.php');
$objSmarty =& new MySmarty;

// $objSmarty->assign('name','Smarty man');
$objSmarty->display('hello.html');
?>

PHP Cookieの確認サンプル

<?php

print_r($_COOKIE);

?>

PHP mysqli_connectのサンプル

if (!($cn = mysqli_connect("localhost", "hoge", "hoge"))) {
die;
}

if (!(mysqli_select_db($cn,"test"))) {
die;
}
$sql = "select * from address";
if (!($rs = mysqli_query($cn,$sql))) {
die;
}

$i=0;
while ($item = mysqli_fetch_array($rs)) {
print "${item['id']} ";
print "${item['name']} ";
print "
";
$data[$i]['name']= $item['name'];
$data[$i]['tel']= $item['tel'];
$i++;
}

mysqli_close($cn);

Thursday, September 04, 2008

PHP 日本語送信

よくあるパターンなのですが、PEARとか使えない環境のため

<?php
mb_internal_encoding( "UTF-8");
mb_language("Japanese");

header("Content-Type: text/html; charset=UTF-8");

// UTF-8

if (my_email("atesaki@example.com")){
print "メールを送信しました。";

}else{
print "メールの送信に失敗。";
}

function my_email ($to) {
$from = mb_encode_mimeheader("送信者") . "<from@example.net>";
$sbj = "タイトル";
$msg = "本文です。";
$header = "From: {$from}";
return mb_send_mail($to , $sbj , $msg , $header);
}

?>