2007年03月23日

さくらインターネットでPHP5を導入したが、php.iniが有効にならないとき

さくらインターネットでPHP5を導入したが、php.iniが有効にならないときは、PHP5をインストールする前のconf.shの設定を疑ってみる。


引用:
 ■php.ini の内容が有効にならない PHPプロ!


PHP をコンパイルする際、 --with-config-file-path=/usr/local/php4/etc/php.ini としていましたが、このオプション、php.ini へのファイルパスを記載するのではなく、php.ini の検索ディレクトリパスを指定するということでした。

--with-config-file-path=/usr/local/php4/etc とすることで、php.ini が有効となりました。

単純なことですが、オプションの名称が file-path であったので、そのまま解釈してしまったことに原因があったということです。







posted by surviver at 10:09 | Comment(0) | TrackBack(0) | さくらインターネット

さくらインターネットでPHP5を導入し、php.iniでマルチバイトが使えるようにする設定をする

設置した php.ini の中に下記の設定をする。


output_handler = mb_output_handler
mbstring.language = Japanese
mbstring.internal_encoding = EUC-JP
mbstring.http_input = auto
mbstring.http_output = SJIS
mbstring.encoding_translastion = On
mbstring.detect_order = auto
mbstring.substitute_character = none;








posted by surviver at 10:09 | Comment(0) | TrackBack(0) | さくらインターネット

さくらインターネットでPHP5を導入し、php.iniを編集する

本ブログでは、iniファイルを"php5.ini"とし、php5.cgi のインストール先である、/home/example/www/cgi-bin に置く。

1.iniファイルの検索順

 /home/example/www/cgi-bin の下にiniファイルがなければ、
 /home/example/www の下を検索するが、明示的に iniファイルの設置をしておくこと。


2.iniファイルを php5.ini とする設定。

 "sh conf.sh" コマンドでconfigureを行う前に、

  /home/example/work/php-5.2.1/main/php_ini.c
   ※php5をサーバにアップロードしたファイル

 ファイルの454行目付近を下記のように修正する。
   ※php5のバージョンによって異なる

  (修正前)
    fh.handle.fp = php_fopen_with_path("php.ini", "r", php_ini_search_path, &php_ini_opened_path TSRMLS_CC);

  (修正後)
    fh.handle.fp = php_fopen_with_path("php5.ini", "r", php_ini_search_path, &php_ini_opened_path TSRMLS_CC);


参考記事:
さくらインターネットにPHP5.2.0をインストールする(まとめ) hinami.net










posted by surviver at 10:08 | Comment(0) | TrackBack(0) | さくらインターネット

Cache_Lite WindowsXPとFreeBSDでのコーディングの違い

PHP5のキャッシュ処理、「Cache_Lite」のコーディングTips。

1.呼び出しオプション
(1)キャッシュを書きこむディレクトリ。

 'cacheDir'は、WindowsXPで動作する場合はパスの末尾に"/"は不要。
 FreeBSDで動作する場合はパスの末尾に"/"が必要。
 パスの末尾に"/"がないと、/home/example/www 直下にキャッシュファイルが
 作成される。
 
-------------------------------------------------
 require_once('Cache/Lite.php');

 //キャッシュ処理
 $options = array(
 'cacheDir' => '/home/example/www/php5cache/',
 'lifeTime' => 86400,
 'caching' => true,
 'automaticCleaningFactor' => 20,
 'automaticSerialization' => true,
 'pearErrorMode' => 'CACHE_LITE_ERROR_DIE'
 );
 $cache = new Cache_Lite($options);










posted by surviver at 10:08 | Comment(0) | TrackBack(0) | PHP一般

さくらインターネットへのPEARモジュールの追加インストール

PEARモジュールを追加インストールする方法を示す。

Pear マニュアル コマンドライン インストーラ

  ※config-setで設定可能なPEAR の設定項目も上記に記載されている。


1.telnetでレンタルサーバに接続し、コマンドプロンプトから以下のコマンドを入力する。

  pear install example

   ※exampleはモジュール名


2.エラー表示のとき

 (1)Cannot install , php_dir for channel "pear.php.net" is not writeable by current user

   ・書き込み権限のない領域に書き込もうとしたというメッセージ。
   (a) pear config-show で、php_dir の設定内容を確認する。
     
      /usr/local/lib/php

     と表示されていたら、さくらインターネットの共用領域なので、変更する必要がある。

   (b) config-set コマンドで、php_dir 設定を変更する。

      pear config-set php_dir /home/example/www/cgi-bin

   (c) pear config-show で、php_dir の設定内容を確認する。


 (2)WARNING: channel "pear.php.net" has updated its protocols, use "channel-update pear.php.net" to update
Cannot install, php_dir for channel "pear.php.net" is not writeable by the current user

   ・コマンドラインから下記コマンドを実行。

      pear update-channels pear.php.net













posted by surviver at 10:07 | Comment(0) | TrackBack(0) | さくらインターネット

さくらインターネットへのPEARのインストール (PEAR本体)

さくらインターネットにPHP5を独自にインストールすると、PEARも同時インストールされるが、これだけではモジュールが不足して動かない場合がある。

こんなときは、PEARを追加インストールするわけだが、以下のブログ記事が参考になる。

さくらインターネットにPEARをインストール applesy16g
共有ホストでの PEAR のローカルコピーのインストール PEAR公式
さくらでpearインストール覚書
さくらインターネットでユーザディレクトリにPEARをインストール Fool's Paradise


1.http://go-pear.orgの内容を、"go-pear.php" とリネームして保存する。

2.FFFTP等で、上記1.のファイルをブラウザからアクセス可能な場所にアップロードする。

  /home/example/www/ の下階層に、"pearinstall"フォルダを作成する。

3.アップロードしたファイルの属性が"755"であることを確認する。

4.ブラウザより、アップロードしたファイルを開く。

  http://example.sakura.ne.jp/pearinstall/go-pear.php

5.表示された画面で「Next >>」をクリックする。

6.次に表示された画面で、2箇所入力をし、画面下の「Install」をクリックする。

  Installation prefix  →  Webからアクセスできない階層を指定する。
    例: /home/example/pear

  ※実際のPHPプログラムの実行時に、php5.iniにincludeパスを指定して
   あるにもかかわらず、
   phpinfo()でincludeがphp5インストール時のままのincludeパスの場合、
   php5インストール時のままのincludeパスを設定する。
   
    /home/example/share/pear5

  php.exe path,optical  →  phpのパスを指定する
    
    さくらインターネットの標準PHPなら、 /usr/local/bin/php
    独自にPHP5をインストールにしたなら、 /home/example/www/cgi-bin

7.インストール結果画面のメッセージをコピー&ペーストして保存しておく。

PEAR Installation path (/home/example/pear/PEAR)
to your include_path.

Using a .htaccess file or directly edit httpd.conf would be working solutions
for Apache running servers, too.

For more information about PEAR, see:
PEAR FAQ
PEAR Manual

Thanks for using go-pear!

Warning: Go-PEAR was not able to determine the URL to the newly
installed Web Frontend of the PEAR Installer. Please access it manually.
Since you specified the prefix, you should know how to do so.


上記のメッセージの、

PEAR Installation path (/home/example/pear/PEAR) to your include_path.

で示される、/home/example/pear/PEARがPEARインストールフォルダとなる。

 ※上記6.で、Installation prefixを、/home/example/share
  とした場合、

    /home/example/share/pear5/PEAR

  となる。

 ※Warningメッセージはとりあえず、ここでは放置でよい。


8./home/example の下にある、.cshrc を以下のように修正する。
  ※FFFTPでは(メニュー)→(表示)→(.で始まるファイルを表示)を選択すると、存在がわかる。

 ・修正前 set path = (/sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin /usr/local/bin /usr/X11R6/bin $HOME/bin)

 ・修正後 set path = (/home/example/pear /sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin /usr/local/bin /usr/X11R6/bin $HOME/bin)

   set path に、上記6.で指定したPEARのインストールフォルダ、
   /home/example/pear を追加する。

  ※実際のPHPプログラムの実行時に、php5.iniにincludeパスを指定して
   あるにもかかわらず、
   phpinfo()でincludeがphp5インストール時のままのincludeパスの場合、
   php5インストール時のままのincludeパスを設定する。
   
    /home/example/share/pear5

9.既に稼動中のサイトへの追加であれば、ブラウザでアクセスして動作確認をする。

10.telnetで接続し、下記のコマンドを入力する。

  pear

   ※PEARで使えるコマンドが、いくつか表示されたらOK。


  pear list

   ※PEARのモジュールが表示される。
    (no packages installed from channel pear.php.net)と表示
    される場合もある。


  pear config-show

   ※PEARのconfig内容を表示。

11.モジュールが適切な場所にインストールできるように、
   PEAR の設定項目を変更する。

  下記サイトにPEAR の設定項目が記載されている。
  ■PEAR :: Manual :: コマンドライン インストーラ

    ※存在しないフォルダは事前に作っておくこと。

  pear config-set bin_dir /home/example/pear/bin

  pear config-set doc_dir /home/example/pear/PEAR/docs

  pear config-set ext_dir /home/example/pear/PEAR/extensions

  pear config-set php_dir /home/example/pear/PEAR

  pear config-set cache_dir /home/example/pear/PEAR/cache

  pear config-set data_dir /home/example/pear/PEAR/data

  pear config-set php_bin /home/example/www/cgi-bin

  pear config-set test_dir /home/example/pear/PEAR/tests

  pear config-set download_dir /home/example/pear/temp/download

  pear config-set temp_dir /home/example/pear/temp

 --------------------------------------------------------------

  ※上記6.で、Installation prefixを、/home/example/share
  とした場合、下記のように設定する。

  pear config-set bin_dir /home/example/share/pear5/bin

  pear config-set doc_dir /home/example/share/pear5/PEAR/docs

  pear config-set ext_dir /home/example/share/pear5/PEAR/extensions

  pear config-set php_dir /home/example/share/pear5/PEAR

  pear config-set cache_dir /home/example/share/pear5/PEAR/cache

  pear config-set data_dir /home/example/share/pear5/PEAR/data

  pear config-set php_bin /home/example/www/cgi-bin

  pear config-set test_dir /home/example/share/pear5/PEAR/tests

  pear config-set download_dir /home/example/share/pear5/temp/download

  pear config-set temp_dir /home/example/share/pear5/temp

 --------------------------------------------------------------


12.上記2.で作成したフォルダ、ファイルを削除する。














posted by surviver at 10:06 | Comment(0) | TrackBack(0) | さくらインターネット

さくらインターネットでPHP5を実行する

実行するPHPファイルのパーミッションを、FFFTP等を使って"755"または"705"に変更する。











posted by surviver at 10:04 | Comment(0) | TrackBack(0) | さくらインターネット

さくらインターネットへのWindowsマシンからのtelnet接続

さくらインターネットのレンタルサーバへ、Windowsマシンからtelnet接続する方法。

1.左下のスタートボタン→「ファイル名を指定して実行」をクリック。
2.telnet example.sakura.ne.jp と入力して実行。
3.login名に続いて、passwordを入力して接続。
4.接続できたら、

   Welcome to FreeBSD!

 と表示されるので、lsコマンドでフォルダの有無を確認。















posted by surviver at 10:03 | Comment(0) | TrackBack(0) | さくらインターネット

php.ini PHPでエラー内容を表示させる

php実行時にエラーがあったときに、ブラウザに表示させるときは、
php.ini の display_errors をOnにする。
















posted by surviver at 10:02 | Comment(0) | TrackBack(0) | トラブルシューティング

apacheのエラーログ

apacheのログは、apacheをインストールしたフォルダの"logs"フォルダのerrorファイルを参照する。


 C:\Program Files\Apache Group\Apache2\logs\error
















posted by surviver at 10:02 | Comment(0) | TrackBack(0) | WindowsXPでの開発環境

php.iniの設定 WindowsXP include path編

■php.ini は、phpをインストールしたフォルダ(c:\php)のものではなく、
 c:windows 下の php.ini が参照される。

■PEARをインストールした後、php.ini の、

 ;include_path=".;C:\php\pear"

を、1文字目のセミコロンをとって、

 include_path=".;C:\php\pear"

に修正すること。
これをやらないと、

 .;C:\php5\pear

がinclude pathとなり、php実行時に下記のエラーとなる。

 failed to open stream: No such file or directory
 Failed opening required


















posted by surviver at 10:01 | Comment(1) | TrackBack(0) | WindowsXPでの開発環境

さくらインターネットにPHP5をインストールする

さくらインターネットのPHPは、PHP4である。
PHP5をインストールするには、下記のブログ記事が大変役に立つ。

[PHP]さくらのレンタルサーバでPHP5 nazonoDiary(日々うろおぼえ記)
さくらインターネットでPHP5を使うには YANOSHIN's Mind Garage
さくらインターネットに PHP5 をインストール applesy16g
さくらのレンタルサーバへPHP5.2.0をインストール www.koruri.com
activecollab


1.下記Webサイトから最新版のUNIX版PHP5をダウンロードする。
   http://www.php.net/downloads.php

 (1)「Complete Source Code」の下の「PHP 5.x.x(tar.gz)」をクリック。
 (2)ミラーサイトを選択する画面が表示されるので、日本のサーバーを選んで
  クリックすると、ダウンロードが開始される。

2.ダウンロードしたファイルを解凍する。
  (この作業はレンタルサーバ側のtarコマンドで行ってもよい)

3.FFFTPなどのFTPソフトで、さくらインターネットの自分のレンタルサーバ領域に、
  "work"等でフォルダを作成する。

  /home/example/work

4.上記3.で作成したフォルダへ、上記2.で解凍したファイルの
  "php-5.x.x"フォルダをバイナリモードでアップロードする。

   ※約4,000ファイルあるので、時間がかかる。

5."conf.sh"ファイルを作成する。
  内容は下記の通り。

#!/bin/sh

./configure ¥
--prefix=$HOME ¥
--with-config-file-path=$HOME/www/cgi-bin ¥
--program-suffix=5 ¥
--with-pear=$HOME/share/pear5 ¥
--enable-force-cgi-redirect ¥
--enable-mbstring=all ¥
--enable-mbregex ¥
--enable-mbstr-enc-trans ¥
--enable-versioning ¥
--enable-trans-sid ¥
--with-mysql ¥
--with-openssl=/usr ¥
--with-soap=yes ¥
--with-zlib=/usr ¥
--with-gd=/usr/local ¥
--with-jpeg-dir=/usr ¥
--with-freetype-dir=/usr ¥
--with-ttf ¥
--with-png-dir=/usr ¥
--with-curl

  ※¥は小文字

  ※--with-pear=$HOME/share/pear5 ¥ は変更しないこと。
   変更すると、makeファイルによるインストール時にWarningが出る。
   変更したパスのフォルダにPEARは作成されない。

  ※--with-config-file-path は、php.iniのパスを指定するのであって、
   ファイル名を指定するのではない。
   従って、

     --with-config-file-path=$HOME/www/php.ini ¥ 

   と書いてはならない。

  ※上の例では、--with-config-file-path は、/www の直下ではなく、
   最終的に php5.cgi をインストールするディレクトリとした。

  ※下記エントリも参照のこと。
   さくらインターネットでPHP5を導入し、php.iniを編集する


7.FFFTPでレンタルサーバに接続し、php5をインストールしたフォルダの、
  "configure"がある階層に、上記6.で作成したファイルをアップロードする。

8.FFFTPでレンタルサーバに接続し、php5をインストールしたフォルダの、
  "configure"ファイルのパーミッションを"755"に変更する。

9.telnetで接続し、php5をインストールしたフォルダの、
  "configure"ファイルのある階層に移動する。

  "cd xxxx" で、フォルダに移動できる。(xxxxはフォルダ名)
  "ls"コマンドでフォルダ内のファイル一覧を表示することができる。

10.コマンドラインで、"sh conf.sh"と入力し、Makefileを作成する。

  メッセージが長く表示された後、
  "thank you for using PHP" と表示されればOK。

11.FFFTPでレンタルサーバに接続し、下記ファイルのパーミッションを"755"に変更する。

  /php-5.x.x/build/shtool

12.コマンドラインで、"make"と入力し、コンパイルを実施。

13.コマンドラインで、"make install"と入力し、インストールを実行する。

  途中でエラーが出たら解析して対応をとる。
  対応をとったあと、再び"make install"でインストールが継続される。

14.コマンドラインでフォルダを作成する。(FFFTPで作成すると、なぜか
   余計なファイルまで作成されるので、FFFTPは使用しないこと)

  /home/example/www/cgi-bin

  コマンドライン: cdで /www に移動し、

           mkdir cgi-bin

           と入力する。

15.php5のモジュールをコピーする。

  コマンドライン: cd ..でルートに移動し、

           cp ~/bin/php5 ~/www/cgi-bin/php5.cgi

           と入力する。

16./home/example/www の下に.htaccessを登録する。
  既にあるのであれば、下記のコマンドラインを追加する。

 (1)拡張子"php5"のファイルをphp5で動かしたい場合

  Action php5-script /cgi-bin/php5.cgi
  AddHandler php5-script .php5

 (2)拡張子"php"のファイルもphp5で動かしたい場合

  Action php5-script /cgi-bin/php5.cgi
  AddHandler php5-script .php

 ※各フォルダに.htaccessを設置し、
 AddHandler php5-script .php または
 AddHandler php5-script .php5 で制御してもよい。


17.php5.iniファイルを作成する。

  ※php5.iniは、さくらインターネット標準のphp4のものを引き継ぐが、
   この例では、
    /home/example/www/cgi-bin/php5.ini
    /home/example/www/php5.ini

   を新たに作成すること。

  ※php5.ini 作成例

   cgi.fix_pathinfo=1

   expose_php=off
   log_errors=on
   log_errors_max_len=4096
   error_log="/home/example/php5errlog"
   magic_quotes_gpc=off
   default_charset="UTF-8"
   file_uploads=off
   allow_url_include=off
   session.use_only_cookies=1


   output_handler = mb_output_handler
   mbstring.language = Japanese
   mbstring.internal_encoding = EUC-JP
   mbstring.http_input = auto
   mbstring.http_output = SJIS
   mbstring.encoding_translation = On
   mbstring.detect_order = auto
   mbstring.substitute_character = none;


18./home/example/www の下に、拡張子php5で作成したファイルでphpinfo()を
   アップロードし、php5の環境を確認する。

  ※PEARを示すinclude_pathが正しくなければ、php5.iniファイルに
  
    include_path = ".:/home/example/share/pear5"

  と記述しておくこと。
















posted by surviver at 10:00 | Comment(0) | TrackBack(1) | さくらインターネット

XOOPSをPHP5で動作させる

現時点では、XOOPSは公式アナウンスではPHP5に対応していない。
PHP5で実行するには、下記設定を行う必要がある。

但し、XoopsHeadlineはPHP5では動作しない(ソースがPHP4依存になっている)ので、XoopsHeadlineモジュールを導入している場合は、PHP5を導入しないこと。


実行はあくまで自己責任で。


※ちなみに、筆者が確認したところ、一部のテンプレートでは、左ブロックのボールド表示が常にされない、うぇぶログで前ページを表示しようとしたときに404エラーとなることがたまにある現象が確認された。


■php.ini の設定
register_long_arrays = on


■MySQL
さくらインターネットの、MySQLのバージョンは "4.0.2x"。
MySQLを4.1にバージョンアップした場合は、XOOPSをハックする必要がある。
 下記のブログ記事を参照。
 PHP5でXOOPSサイトを運営する その2 おじさんの備忘録

■PHP5.1系
PHP5.0系はスムースにxoopsのインストールができるが、PHP5.1系のもとでxoopsをインストールしようとするとエラーとなる。
インストール前にmainfileの設定ファイルをハックする必要がある。

 下記のブログ記事を参照。
 XOOPSをPHP5.1.xx環境にインストール おじさんの備忘録












posted by surviver at 09:59 | Comment(0) | TrackBack(0) | FreeBSD稼動環境

PHPでの文字化け対策1

PHPは書籍や他人の書いたブログ記事のサンプルソースのままでは、正しく表示されないことが多い。

いわゆる「文字化け」が発生するわけだが、対策方法としては下記のブログ記事が大変参考になる。

PHPの文字化けを本気で解決する


また、PHPプログラム中にマルチバイト文字を取り扱う場合は、mb_convert_encodingで文字コード変換を必ず実行しておけば問題ない。

サンプルソース:
---------------------------------------------------------------

<?php
function convert($str) {
return mb_convert_encoding($str, mb_internal_encoding(), "auto");
}
?>

$data .= convert("商品説明:") . convert($item->itemCaption) . "\n";

---------------------------------------------------------------


次の記事も参照のこと。
PHPでの文字化け対策2








posted by surviver at 09:57 | Comment(0) | TrackBack(0) | PHP一般

PHPの学習に便利なサイト

PHPの学習に便利なサイトは下記のサイト。

PHP & JavaScript ROOM










posted by surviver at 09:56 | Comment(0) | TrackBack(0) | PHP一般

Windows XP PEARのインストール

下記のブログを参照してインストールする。

Selfish DNA PHP5.2とPEARのインストール手順(Windows XP、Apache2、MySQL5)

■PHP5をインストールした状態では設定ファイルにバグがあって動かないらしい。

  go-pear.pharファイルを下記のサイトを開いて内容を上書き保存する。
   http://pear.php.net/go-pear.phar


■上書きしたら「go-pear.bat」を実行する。
 途中の質問には全てEnterで応答。
 "Double-click this file to add it to the current user registry."
と表示されていればインストール成功。

■環境変数を設定するため、
 C:\php\PEAR_ENV.reg を実行する。

■PCを再起動後、PHPをインストールしたディレクトリでコマンドプロンプトで
 「pear」と入力して実行する。

 Commands:
build なんちゃらってずらずらと表示されていたらOK。










posted by surviver at 09:55 | Comment(0) | TrackBack(0) | WindowsXPでの開発環境

Windows XPに、Apache,PHP5をインストールする


PHP+MySQL



これを読んで実践する。

■http.confのDocumentRootは変更したほうがよい。
 Apacheをインストールしたディレクトリの下に製作したファイルを置かないほうがよいため。

■PHPの動作確認。

 <? php
phpinfo():
?>

 ※便宜上、大文字で記載した。

 上の書籍のPHP動作確認のソースには誤りがあるので注意。











posted by surviver at 09:55 | Comment(0) | TrackBack(0) | WindowsXPでの開発環境
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。