忍者ブログ
素人がWebサービス開発にチャレンジするブログ
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

 環境整備も整ったので、昨日買って来た「PHP はじめてのPHPプログラミング」って本をざっと全部よんでみましたが、PHPの仕様の説明(ifとか配列とか)だけで、これで具体的にどうWebサービスをつくるのかがまったくわからーん。

てことで、改めて書店をさ迷うはめに。んで、買ってきたのが「基礎からのPHP」・・・かなり分厚いです。この本、PHPの説明だけにとどまらずMySqlやセキュリティ等の説明もある程度充実してるっぽく、巻末にはWebサービスのソースやら解説やらがのっていたのが気に入りました。

とりあえず、この一冊こなせば、なんとかそれなりっぽいものが作れるようになりそうです。

しかも、開発環境構築の手順もかなり詳しく載っていて、最初にこの本買っていれば昨日の作業は午前中に終わってたかもしれません。 失敗したなぁ選本。。。

備忘録的な:
今日買って来た本にMySqlに接続する為には、PHPインストールフォルダのlibmysql.dllってファイルをSystem32フォルダにコピーする必要があるって書いてましたが、昨日私が入れたPHP5.3には入ってないそうです。

結局MySqlのインストールフォルダ\binに同様のファイルがあるそうなので、そっちをコピーしました。


PR
 と、ゆーわけで何かWebサービスを作りたいと立ち上がった昨今なわけで、さっそく開発環境の整備を行いました、、、そして挫折しかけました。結局丸一日環境整備に費やしましたよ・・・。

折角なので、色々右往左往した様を残しておきます。

とりあえず、Webサービスっつったらよく分からんけど言語はPHPっしょ!てなノリで、「PHP はじめてのPHPプログラミング」って本(以下 PHP本)を購入。

んで、当然っちゃ当然ですが、Webサービスを開発するにはMySQLやらApacheやら色々と導入しなきゃならないらしく、めんどくさいのでPHP本に紹介されていた、Webサービス開発に必要なものを纏めてインストールできるというパッケージソフト「XAMPP」の導入を試みる。

XAMPPがダウンロードできるサイト

結構丁寧にインストール手順とかも書かれていたので、インストールは問題なく完了・・・。(Vistaだとデフォルトのインストール場所だと駄目らしいのでDドライブのアプリケーションを纏めておいてあるフォルダにインストール)

したと思ったら、XAMPP上でApacheサービスのstartボタンを押しても起動しない・・・。はぁ?と思いつつ管理画面でサービスの一覧を表示してみたところ、Apacheが一覧に無く、どうやらApacheのインストールに失敗していた模様。

何度かXAMPPのアンインストール/インストールを繰り返しても事態改善せず。Google先生に聞いてもパッとした答えが返ってこないので、結局Apacheは自分で導入することに・・・。

んで、Apacheのダウンロードを試みるがダウンロードできるサイトが英語版のみということで少し腰が引ける。ダウンロード方法を詳しくのせてくださってるサイトがあったので、その通りに導入。とりあえず、インストールまで完了。

そして、Apacheの起動を試みると以下のエラーが出力され起動失敗。
 
(OS 10048)通常、各ソケット アドレスに対してプロトコル、ネットワーク アドレス、
またはポートのどれか 1 つのみを使用できます。
make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down

調べた結果、どうやら他のプロセスが80番のポートを使っているのが原因で起動に失敗しているとのこと・・・。80番のポートを使っているプロセスの特定方法が書いてあるサイトがあったので、その通り(「netstat -ano」でプロセス番号を確認し、タスクマネージャでプロセスを特定)に実行しようとしたが、vistaのタスクマネージャ、プロセス一覧にPID無いでやんの。。。

昔「ライフハッカー」というサイトで強化版タスクマネージャを紹介している記事があったのを思い出したので「ライフハッカー タスクマネージャ」で検索。あっさり目的の記事が見つかったので、「Process Explorer」という強化版タスクマネージャのツールを導入。プロセスの特定に成功。。。

犯人はヤス。いやChrome。ブラウザが犯人かよ!と思いつつ冷静にChromeを停止し、Apacheを起動。失敗。再度「netstat -ano」を実行したところ、まだChromeがポートを占有している模様。。。しょうがないので再起動を実施。

再起動後、「neststat -ano」を実行し、80番のポートが使われていないことを確認後、再度Apacheを起動。失敗。もう頭の中が「????」状態だったが、色々といじくっていると、もう既にApacheが起動していることに気づく。(サービスの自動起動で上がっていた模様)

一旦Apacheを停止し、再度起動。成功。

頭の中で拍手喝采が起こっていたが、落ち着いてApacheの稼動確認。(<xamppのインストールディレクトリ>\htdocs)の下にtest.phpを配置し、ブラウザのURL欄に「http://localhost/test.php」を入力しEnter。)

phpファイルの中身(<? echo "Hello Worl!!" ?>)がそのまま画面に出力される。

この時点で膝が折れたので休憩。買って来た「テガミバチ」という漫画9冊をイッキ読み。ココロが少し回復したので再度トライ。

調べてみると、「PHPを実行するにはPHPモジュールの導入が必要」とのこと。うん、考えてみればあたりまえだね!(それ以外にも、Apacheのhttpd.confファイルを修正しなきゃ駄目とか、PHPのiniファイルを修正しなきゃ駄目とかいうことも知る。)

PHPにはApache用とIIS用の2種類があるらしく、最初知らずにIIS用入れて大混乱に陥ったりしつつも、親切なサイトを発見し、なんとかPHPの導入/設定、Apacheの設定に成功。

そして再度、test.phpを読み込み。

Chrome 「Hello World!!」

得もいえぬ達成感を味わいつつ良い時間になってきたので晩御飯。今日作ったカレーは我ながら絶品だと思う。

晩御飯後、PHP本に書いてあったサンプルコードをそのまま打ち込んで試してたりする内、date()関数を使ったら以下のエラーが発生。

Warning: phpinfo() [function.phpinfo]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Asia/Tokyo' for 'JST/9.0/no DST' instead in /opt/local/apache2/htdocs/pi.php on line 10

php.iniファイルにタイムゾーンの設定を入れてやれば良いとのことなので設定を試みるが、「php.ini」ファイルが無い。どうやら仕様変更で、「php.ini」ファイルはphp ver5.3くらいから「php.ini-development」と「php.ini-production」になったらしい。どっちが、どういう役目なのかは一切分からないが、とりあえず両方のファイルにタイムゾーンの設定を追加。

セミコロンのはずし忘れ等で四苦八苦しつつも、タイムゾーンの設定に成功。上記エラーが解消したことを確認。

・・・と、これまでが環境整備の流れになります。疲れた。。。
新しい事を始めるって大変ですねぇ(自分だけか・・・)

多分「XAMPP」の導入時にApacheの導入に失敗したのが今回の一番の敗因。もう少し調べればよかったかなぁとか思いつつも、これも経験かなとか思ったりします。

さー、んでPHPって何ができるんですかね(笑)
ゆっくり勉強していきたいと思います。
HOME
カレンダー
10 2024/11 12
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
最新コメント
最新トラックバック
プロフィール
HN:
ゆう
年齢:
38
性別:
男性
誕生日:
1985/11/30
職業:
SE
趣味:
イラスト

Copyright © [ Webサービスができるまで ] All rights reserved.
Special Template : 忍者ブログ de テンプレート
Special Thanks : 忍者ブログ
Commercial message : [PR]