パーフェクトPHP 勉強 1日目(その3)

勉強環境のスペック
PHPのアンインストール
「パーフェクトPHP」様のいうことにゃ次はPHPのインストールなんだけど、すでにインストールされているのでまずは削除をします。
apacheが動いていたのでとりあえず止める
$ sudo /etc/init.d/httpd stop httpd を停止中: [ OK ]
yumでインストールしたphpを調べる
$ sudo yum list installed | grep php php.x86_64 5.3.3-22.el6 @base php-cli.x86_64 5.3.3-22.el6 @base php-common.x86_64 5.3.3-22.el6 @base php-gd.x86_64 5.3.3-22.el6 @base php-mbstring.x86_64 5.3.3-22.el6 @base php-mysql.x86_64 5.3.3-22.el6 @base php-pdo.x86_64 5.3.3-22.el6 @base php-pear.noarch 1:1.9.4-4.el6 @base php-pgsql.x86_64 5.3.3-22.el6 @base
phpを削除
$ sudo yum remove php php-cli php-common php-gd php-mbstring php-mysql php-pdo php-pear php-pgsql
mysql-serverもインストールしていたので一緒に削除。
$ sudo /etc/init.d/mysqld stop $ sudo yum remove mysql-server
これでよし…。やっと本題!
PHPのインストール
$ sudo yum install php php-pear php-devel php-mbstring php-mysql php-pdo php-xml $ sudo yum install mysql-server
ドキュメントルートの設定
ドキュメントルートを/var/www/study.localhostに設定する
$ sudo mkdir /var/www/study.localhost $ sudo chown ユーザ名:ユーザ名 /var/www/study.localhost
バーチャルホストの設定
$ sudo vi /etc/httpd/conf.d/vhosts.conf
NameVirtualHost *:80
<VirtualHost *:80>
ServerName study.localhost
DocumentRoot /var/www/study.localhost
DirectoryIndex index.php index.html
<Directory "/var/www/study.localhost">
AllowOverride All
Allow from All
</Directory>
</VirtualHost>
apacheを起動してCentOSのFireFoxからstudy.localhostにアクセスする
$ sudo /etc/init.d/httpd start
あれ?「Forbidden」エラーになってしまった。
You don't have permission to access / on this server.
だってなんで?
VMwareを動かしていているマシン(Windows8)からstudy.localhostでアクセスしたい
状況
- ローカルで動かしている。
- DNSサーバを立てていない。
やること
- Windows8の設定ファイルをいじちゃえ!(邪道)
C:\Windows\System32\Drivers\etc\hostsファイルを管理者権限で開き、以下の1行を追加する
192.168.0.110 study.localhost
これでWindows8のブラウザからstudy.localhostを指定してアクセスできるようになります。(やったね!)
なお、本マシン(Windows8)以外の端末(例えばiPadとか)からstudy.localhostにアクセスしようとしても名前解決ができないのでアクセスできない。IPアドレス直接指定なら可能。
※ここで指定しているローカルのIPアドレスは既に固定IPに設定しています。
IPアドレスの固定方法を書くとかなり脱線するので別のエントリで書きます。(そのうち)
バーチャルホストを追加する
$ sudo vi /etc/httpd/conf.d/vhosts.conf
NameVirtualHost *:80
<VirtualHost *:80>
ServerName study.localhost
DocumentRoot /var/www/study.localhost
DirectoryIndex index.php index.html
<Directory "/var/www/study.localhost">
AllowOverride All
Allow from All
</Directory>
</VirtualHost>
# ↓新たに追加
<VirtualHost *:80>
ServerName takamk2.localhost
DocumentRoot /var/www/html
DirectoryIndex index.php index.html
<Directory "/var/www/html">
AllowOverride All
Allow from All
</Directory>
</VirtualHost>
hostsにtakamk2.localhostを追加
$ sudo vi /etc/hosts
以下の1行を追加
127.0.0.1 takamk2.localhost
C:\Windows\System32\Drivers\etc\hostsにtakamk2.localhostを追加
192.168.0.110 takamk2.localhost
apacheを再起動する
$ sudo /etc/init.d/httpd restart
CentOS上のブラウザでtakamk2.localhostにアクセスできればOK!
次回はついにPHPを使うぜ!乞うご期待!!
パーフェクトPHP 勉強 1日目(その2)

さっきの茶番の続きです。
メモ書きながら勉強すると覚えはするけど全然読み進められないっていう。
PHPの歴史
- 2000年5月に公開されたPHP4.0から「Zend Engine」とうエンジンが搭載されパフォーマンスが大幅に向上した。
- PHP5.0は2004年7月から。
コーディングスタイル
(Zend Framework PHP 標準コーディング規約をベース)
変数名
- 英数字からなる単語をアンダースコアで区切ったスタイル。すべて小文字。
$string, $base_url
関数名
- 英数字からなる単語をアンダースコアで区切ったスタイル。すべて小文字。
delete_null_byte(), is_admin()
クラス名
- 単語の1文字目を大文字、それ以外を小文字にして連結したスタイル。
AccountController, ClassLoader
メソッド名
- 先頭以外の単語の1文字目を大文字、それ以外を小文字にして連結したスタイル。
runAction() getRequest()
関数/クラス/メソッド定義の波括弧
- 波括弧はそれぞれ独立した行に記述する。
今まで開始の括弧は関数/クラス/メソッド名の隣に書いていたから違和感。でもあまり自分ルールにこだわりすぎると壁にぶち当たるのでここも従います。
class Router
{
public function resolve()
{
}
}
番外
インデントを半角スペース4つにするのでvimの設定もちょっと変える。
$ vi ~/.vimrc
以下の設定を記述。
setlocal tabstop=4 setlocal shiftwidth=4
これでTabキーを押した時に半角スペース4つ挿入することができるようになった。
…。
よーし、次はPHPのインストールだ!
といっても僕の今の環境(VMWareにCentOS6.4ぶち込み)にはすでにPHPをインストールしていた。
折角なので「再インストール」しよう。(パーフェクトPHP様の仰せのままに)
PHPのインストール&設定は次回のエントリで書きます。
ではまた。

- 作者: 小川雄大,柄沢聡太郎,橋口誠
- 出版社/メーカー: 技術評論社
- 発売日: 2010/11/12
- メディア: 大型本
- 購入: 32人 クリック: 1,065回
- この商品を含むブログ (57件) を見る
パーフェクトPHP 勉強 1日目

さぁ!遂に始まってしまいました。「パーフェクトPHP」実況!!
はい、司会は私、新渡戸?否、「象」がお送りいたします。
では早速…。おーっと早くも最初の難関 P003「はじめに」だー!
ここで脱落する自称プログラマは数知れず、私も例に漏れずここで脱落するのか!?
だ、大丈夫なようです!大丈夫なようでーーーっす!
しかしっ、わたくしもう疲れたので今日はここまでにするそうです!
次回の実況をお楽しみに!(近日公開)

- 作者: 小川雄大,柄沢聡太郎,橋口誠
- 出版社/メーカー: 技術評論社
- 発売日: 2010/11/12
- メディア: 大型本
- 購入: 32人 クリック: 1,065回
- この商品を含むブログ (57件) を見る
【サーバーエラーに悩まされ】さくらインターネットのレンタルサーバーのお試し期間を使って
こんにちわ。僕は今すごく落ち込んでます。
なぜかというと、さくらインターネットにおいているwordpressのページが「Internal Server Error」になりまともに動かないからです。
考えられる原因は以下の通り
1.公開ディレクトリ以下のファイルまたはディレクトリで、ファイル所有者以外に書き込み権限がある
2..htaccessの記述エラー
3.自分がメモリの使い過ぎ
4.サーバーが悪い
1.公開ディレクトリ以下のファイルまたはディレクトリで、ファイル所有者以外に書き込み権限がある。
さくらインターネットのapacheの設定で、ファイル所有者以外に書き込み権限があると「Internal Server Error」が出るようになっているそうです。
推奨のパーミッションは「705」または「755」とのこと
もちろん僕はパーミッションを「705」にしていました。
それでもだめだったので見落としがあるんじゃなかろうかということで明示的にパーミッションを変更
$ cd [公開ディレクトリ(www)のあるディレクトリ]
$ chmod -R go-w www
これでも駄目だった。
2..htaccessの記述エラー
www配下には.htaccessを置いていない
とりあえず、wwwディレクトリ配下にindex.phpを置いてアクセスする。
index.phpの中身は以下の通り
10回に1回の頻度で「Internal Server Error」が発生
(wordpressの管理画面では5回に4回はエラーになる)
3.自分がメモリの使い過ぎ
さくらインターネットのサーバコントロールパネルにある「リソース情報」で確認
メモリ使用率0.1のプロセスが5個あるだけ。
とてもメモリを圧迫しているとは思えない。