新しいブログに移動しました。
9ensanのLifeHack
こちらの記事も必要に応じて新しいブログに移動させる予定です。
今後ともよろしくお願い致します。

HOME

Apacheにバーチャルホスト利用で複数サイトのテスト環境を作成する方法

  • 2009.02.17 (火) 20:57
  • 設定

Apacheを利用していてプログラム開発をしていると複数の開発環境がほしい時があると思います。

そんなとき便利な方法を紹介します

Apacheのバーチャルホストの機能を利用して複数のテスト環境を用意する方法です。

XAMPP」を利用して環境を作った場合の設定例です。

今回は、ポート番号を分けることで複数のテスト環境を構築します。

  1. まず、「C:\xampp\apache\conf\extra」のフォルダにある「httpd-vhosts.conf」を編集します。
    以下の内容を追記します。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    
    Listen 8080
     
    NameVirtualHost 192.168.25.130:80
    NameVirtualHost 192.168.25.130:8080
     
    <VirtualHost 192.168.25.130:80>
    DocumentRoot "C:/xampp/htdocs"
    </VirtualHost>
     
    <VirtualHost 192.168.25.130:8080>
    DocumentRoot "C:/htdocs"
    </VirtualHost>
     
    <Directory "C:/htdocs">
        Options Indexes FollowSymLinks Includes ExecCGI
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>

    これの追記の設定は、8080ポートの追加と、80ポートでアクセスした場合と、8080ポートでアクセスした場合に別ディレクトリを参照するようにしています。
    そして、8080ポート用のディレクトリにアクセス権限を与えています。

これで、
「http://192.168.25.130:80」でアクセスした場合は、「C:/xampp/htdocs」を参照し、
「http://192.168.25.130:8080」でアクセスした場合は「C:/htdocs」を参照するようになります。

アクセスポートを追加することで、Apacheが参照するディレクトリを異なるディレクトリに出来るので、複数のテスト環境を簡単に作成することができます

XREA、CoreserverにWordPressをインストールしてみよう

  • 2009.02.17 (火) 09:33
  • WordPress,レンタルサーバー
  • ,,

今回は、レンタルサーバ、CoreserverにWordpressをインストールする手順を紹介します

CoreserverにWordpressをインストールする上でとても厄介なのがPHPのセーフモードの問題なのです。
(問題としては、ファイルの書き込み権限が無い為に、インストール作業をWebから自動的に行えなかったりします

 インストールする上で一番簡単な方法は、「全てのPHPをCGIモードで動作させセーフモードをオフにしてしまう」という方法です。

手順は過去の記事、「XREA.com、CoreserverでのCGIで動作させる為の、.htaccess設定」に記述してありますので参考にしてください。
(この方法だと全てのモジュールがCGIモードで動作するので多少動作が遅くなります)

今回のインストール方法は、必要なPHPファイルのみをCGIモードで動作するように設定し、不必要なモジュールのCGIモードでの動作をさけて、なるべく動作を軽くWordPressをインストールすることを目的としています。

では、インストール作業手順の説明です 続きを見る…

AddClipsをつけてみました!!

  • 2009.02.15 (日) 22:57
  • その他

簡単にソーシャルブックマークに登録可能なボタンを提供してくれるサイト「AddClip

とっても便利なのでつけてみました。

気に入ったらブックマークしてみてね

PHP入門 第17回 エラーと例外処理

  • 2009.02.15 (日) 22:09
  • PHP

エラーイベント

PHPはエラーが発生した場合、エラーイベントを発生させ、エラーメッセージを出力したり、ログイン記録したりします。

エラーイベント 説明
E_ERROR プログラム実行の継続が不可能な致命的なエラー
E_WARNING プログラムに不具合がある場合のエラー
E_NOTICE プログラムの不具合の可能性が高いエラー
E_USER_ERROR ユーザー定義エラー
E_USER_WARNING ユーザー定義エラー
E_USER_NOTICE ユーザー定義エラー
E_STRICT PHP5構文を強制する

 エラーハンドラ

PHPまたはtrigger_error関数から発生したエラーメッセージは、PHPのエラーイベント処理機能によって処理され、エラーメッセージをブラウザに送信したり、Webサーバやsyslog等のログに記録できます。

エラーイベントが発生した場合、エラーハンドラがエラーイベントの処理を行います。
デフォルトのエラーハンドラはエラーメッセージを表示します。

エラーイベントを処理するエラーハンドラはPHPスクリプトで記述されたユーザー定義エラーハンドラに置き換えることができます。

PHPスクリプトでエラーハンドラを記述できるため、特定のエラー発生時に管理者にメールを送信を行うなどの必要なエラー処理を行うことができます。

1
2
3
mixed set_error_handler( string 関数名 [, int エラー])
void error_handler_name(int エラー番号, string メッセージ
            [, string ファイル名 [, int 行番号 [, array 変数]]] )

エラーハンドラの使い方は簡単です。
set_error_andler関数にエラーを処理するコールバック関数を渡すだけで任意のエラー処理を行えます。

例外処理

例外処理とは、tryブロック中でエラーが発生した場合、throwで例外を発生し、例外オブジェクトを生成し、制御をcatchブロックに移動させthrow文で生成した例外オブジェクトを渡す仕組みです。

PHP入門 第16回 スコープ

  • 2009.02.14 (土) 11:45
  • PHP

特定の変数が参照できる範囲を、「スコープ」といいます。

PHPには、

  1. グローバル
  2. 関数
  3. クラス

の3つのスコープが利用できます。

スコープ名 説明
グローバルスコープ グローバル変数が参照できるスコープ
関数スコープ 関数内のスコープ
クラススコープ クラス内のスコープ

 関数および、クラススコープは、関数またはクラスごとに独立しています。

関数やクラスのメソッドで定義された変数はローカル変数と呼ばれ、他のスコープからローカル変数を参照することはできません。

PHPのグローバルスコープ変数は、オートグローバルと呼ばれる変数(後述)を除き、関数およびクラススコープから直接参照できません。

グローバルスコープ変数は、関数などからはglobal文を使用してグローバル変数であることを宣言した後に使用できるようになります。
そうしないと、グローバル変数とは別のローカル変数として宣言されたことになるので注意が必要です。

PHPのグローバル変数は、$GLOBALSという配列に格納されています。
$GLOBALSは、、どのスコープからでも参照可能なオートグローバル変数の一つです。

globalキーワード

変数宣言時にglobalを宣言することで、関数、クラス内でローカル変数でなくグローバル変数を参照できるようになります。

例)
下記、例では「3」を出力します。global宣言がない場合との違いを確かめてみましょう。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
$a = 1;
$b = 2;
 
function Sum()
{
    global $a, $b;
 
    $b = $a + $b;
}
 
Sum();
echo $b;
?>

出力結果)

global宣言を行った場合の出力結果

global宣言を行わない例)
グローバル宣言を行わない場合は、ローカル変数として宣言されグローバル変数の値には変化はありません。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$a = 1;
$b = 2;
 
function Sum()
{
    $a;
    $b;
 
    $b = $a + $b;
}
 
Sum();
echo $b;
?>

出力結果)

グローバル宣言を行わなかった場合の出力結果

グローバル変数とローカル変数の関係を調べた例)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<pre>
<?php
$var = "グローバル変数\r\n";
 
function test() {
	echo $var; //未定義のローカル変数
	$var = "test関数のローカル変数\r\n"; //test()のローカル変数
	echo $var; //test関数のローカル変数と出力
 
	echo $GLOBALS["var"]; //オートグローバル変数の$GLOBALS配列から
			      //グローバル変数$varを参照
	global $var; //グローバル変数の$varを宣言
	echo $var;   //グローバル変数を出力
}
test();
?>
</pre>

 出力結果)

グローバル変数とローカル変数のテスト

 オートグローバル変数

オートグローバル変数には以下の種類があります。
使えるようにしておきましょう。

変数名 説明
 $GLOBALS  グローバル変数用の配列
 $_GET  HTTPリクエストのGETで送信されてきたクエリー文字列をパースし値を保存した配列
 $_POST  HTTPリクエストのPOSTで送信されたフォームの値を保持した配列
 $_COOKIE  COOKIEの値を保持した配列
 $_FILES  HTTPファイルアップロード用の配列
<input type="file">にてファイルアップロードを行った場合に使用
 $_REQUEST  $_GET,$_POST,$_COOKIEの値を保持した配列
 $_SERVER  Webサーバーに関する情報を保持した配列
 $_ENV  環境変数を保持した配列
 $_SESSION  HTTPセッション情報を保持した配列

 

お薦めのレンタルサーバー
広告
お薦めの書籍
HOME