ホーム > PHP
PHPのアーカイブ
さくらでPHPを利用する際の注意
さくらインターネット サポート
CGI・PHPの設置に関わるサーバ情報一覧
◎ファイル、ディレクトリ、ともにパーミッションは705または755
(どちらでも同じ)
この設定が間違っているとInternal Server Errorになる。
◎文字コードはEUC-JPとなっているけれど、UTF-8でも問題ない様子
2010/3/25追記:やっぱりEUC-JPにしておいたほうが無難みたい。
Vimをインストールしてsshでリモート操作してファイルを閲覧、編集しようとすると
utf-8で作成されたファイルはその中身を閲覧することが出来ない。
(一部しか表示されなかったりして、とにかくおかしい)
EUC-JPにすると問題は解消された。
なので、以後はEUC-JPで統一することにした。
でも、Shift_JISだと問題ないみたい。UTF-8がダメなのかな。
◎PHPの設定についてはphp.iniですること
.htaccess内でphpの設定はしないこと。(エラーになる)
詳しくはを「さくらでphp.iniの編集をする」参照のこと。
◎Terminalで操作する場合
Terminalからsshでリモートログインして操作する場合、Terminalの
文字エンコーディングもサーバの文字コード(EUC-JP)に合わせておく必要がある。
環境設定 > 設定 > 詳細 > 言語環境のところの「文字エンコーディング」を「日本語(EUC)」に変更。
さくらでphp.iniの編集をする
利用しているさくらインターネットのスタンダードプランでは
.htaccess内にphpの設定を記述することができない。
(サーバエラーになる)
続きを読む
PEAR::Pagerをインストールして使ってみる
- 2009年11月8日 12:37 PM
- PHP
自宅iMacのVMware FusionにインストールしているUbuntu Server 9.0.4に、PHPのPEARライブラリ「PEAR::Pager」をインストール。
PEAR::Pagerはページネーション(ページ送りとか、ページングとも言う)機能を簡単に実装できるパッケージ。
PEARの各パッケージをインストールするには(この場合はPEAR::Pager)PEARパッケージマネージャの「php-pear」が必要。これがPEARの各パッケージをインストールするための窓口となってくれる。
ちなみに、Ubuntuではこのパッケージマネージャが未インストール状態で、PEARのパッケージをインストールしようとすると
$ pear install Pager
The program 'pear' is currently not installed. You can install it by typing:
sudo apt-get install php-pear
と表示される。「pear」がインストールされてませんよと。そして、それをインストールするには「sudo apt-get install php-pear」とタイピングして実行するといいですよと。親切だ。
なので、このメッセージに従ってphp-pearをまずはインストールする。(sudoというのはroot権限でこのコマンドを実行するということ)
php-pearのインストール
$ sudo apt-get install php-pear
これでPEARのパッケージマネージャがインストールされた。つづいて本題のPEAR::Pagerパッケージのインストール。これも同様にsudoをコマンドの先頭につけて、管理者権限でインストールする。
PEAR::Pagerのインストール
$ sudo pear install Pager
Pagerパッケージをインストールして、何がどこに入ったのかを一応確認してみる。
(pearのlistというコマンドを使って)
$ pear list Pager
Installed Files For Pager
=========================
Type Install Path
doc /usr/share/php/docs/Pager/examples/example.php
doc /usr/share/php/docs/Pager/examples/Pager_Wrapper.php
test /usr/share/php/tests/Pager/tests/all_tests.php
test /usr/share/php/tests/Pager/tests/multibyte_post.php
test /usr/share/php/tests/Pager/tests/pager_include.php
test /usr/share/php/tests/Pager/tests/pager_jumping_noData_test.php
test /usr/share/php/tests/Pager/tests/pager_jumping_test.php
test /usr/share/php/tests/Pager/tests/pager_jumping_tests.php
test /usr/share/php/tests/Pager/tests/pager_noData_test.php
test /usr/share/php/tests/Pager/tests/pager_post_test.php
test /usr/share/php/tests/Pager/tests/pager_post_tests.php
test /usr/share/php/tests/Pager/tests/pager_post_test_simple.php
test /usr/share/php/tests/Pager/tests/pager_sliding_noData_test.php
test /usr/share/php/tests/Pager/tests/pager_sliding_notExpanded_test.php
test /usr/share/php/tests/Pager/tests/pager_sliding_test.php
test /usr/share/php/tests/Pager/tests/pager_sliding_tests.php
test /usr/share/php/tests/Pager/tests/pager_test.php
test /usr/share/php/tests/Pager/tests/pager_tests.php
test /usr/share/php/tests/Pager/tests/pager_test_xss.php
test /usr/share/php/tests/Pager/tests/pager_wrapper_include.php
test /usr/share/php/tests/Pager/tests/pager_wrapper_test.php
test /usr/share/php/tests/Pager/tests/README
test /usr/share/php/tests/Pager/tests/simple_include.php
php /usr/share/php/Pager.php
php /usr/share/php/Pager/Common.php
php /usr/share/php/Pager/HtmlWidgets.php
php /usr/share/php/Pager/Jumping.php
php /usr/share/php/Pager/Pager.php
php /usr/share/php/Pager/Sliding.php
簡単なコードを実際に記述して、このパッケージ(Pager)が利用出来る状態になっているのかを確認する。(パッケージをincludeで読み込んで機能を利用可能にし、ページネーションのナビゲーションリンクと現在のページ番号を表示してみる)
paging_sample.php
200,
"delta" => 10,
"perPage" => 8
);
$pager =& Pager::factory($options);
$navi = $pager -> getLinks();
print($navi["all"]);
$currentPageID = $pager -> getCurrentPageID();
echo "現在のページ番号は" . $currentPageID . "です。";
このファイルにブラウザでアクセスして表示してみると、こんな感じ。

とりあえずPagerパッケージは無事インストールできて、機能も利用できている模様。
あとは、実際にページネーションが必要なコンテンツを作成して実践&確認していくという感じ。
CentOS 5.3 ServerにLAMP環境の構築
この記事はCentOS 5.3 ServerにLAMP環境の構築にひっこしました。
php.ini の場所
- 2009年6月7日 12:12 PM
- PHP
/opt 配下、XAMPP、Ubuntu Server(VMware fusion での仮想環境)と、勉強のための環境が複数あって混乱してきたのでメモ。
◎MacPorts環境
/opt/local/etc/php.ini
◎XAMPP(for mac osx) 環境(/Applications 配下にインストールした場合)
/Applications/xampp/etc/php.ini
◎Ubuntu Server環境
/etc/php5/apache2/php.ini
モバイルサイト制作にあたってのphp.iniの設定
ローカルでの、自分で php.ini を編集できる環境ではいいけれど、レンタルサーバではそれが出来ないので、以下のように .htaccess を使って、モバイルサイトを制作するにあたっての各項目の設定を変更する。
.htaccessで設定した項目
(これは php4 の場合。5の場合は mod_php5.c とすればいい)
<IfModule mod_php4.c>
# セッションIDを保存するのにCookieを使用するかどうか
# 携帯では基本的にCookieを利用出来ないのでオフに
php_value session.use_cookies 0# URLにセッションIDを付加するかどうかを指定
# 携帯ではCookieにセッションIDを保存できないので、これはオン
php_value session.use_trans_sid 1# 内部文字エンコーディングの設定
# 携帯の特殊文字にも対応出来るようにeucJP-winを使用する
php_value mbstring.internal_encoding eucJP-win# 自動文字エンコーディングの検出の順番を設定
# モバイルサイトは幅広い文字に対応する必要があるので、eucJP-winとSJIS-winを利用する
# そのために検出の順番を明確に定義しておく
php_value mbstring.detect_order SJIS-win,eucJP-win,JIS,UTF-8,ASCII</IfModule>
以下の5つの項目については、ホスティング先の設定がすでにそうだったので、今回はとくに指定しなかった。(イコールは、あくまでもphp.ini上での表記で、この.htaccessでの設定では使わない)
- session.use_only_cookie = 0
- mbstring.language = Japanese
- mbstring.http_input = pass
- mbstring.http_output = pass
- mbstring.encoding_translation = Off
*注意:
mbstring.detect_order のところは、文字コード名を繋ぐカンマの後に半角スペースとか入れてはだめ(エラーになる)
ホーム > PHP
- 検索
- フィード