ひょんなことからPHPファイルを編集することとなった. どこかのWebサーバへPHPファイルをアップロードして編集/閲覧すれば済む話しだが,ローカルな環境にサーバがあればそちらを使う方が利便性が高い. そこで今回はMacに元々入っているWebサーバ"Apache"を立ち上げる. システム環境設定からWeb共有の項目が無くなってからローカルサーバを立ち上げる機会に恵まれなかったため,今回は以下2つのサイトを参考に作業を進めた. 前者はApacheサーバ立ち上げに関して,後者はPHPファイルの閲覧時に遭遇した警告の修正に関して記してある.
注意: OS Xのメジャーバージョン数に依って編集項目が少し違うようだった(詳しくはSetting up a local web server on OS Xを参照). ここではOS X El Capitanを対象にしている.
Apacheを立ち上げる
まずはPHPを動作させるため,Xcodeをインストールする. インストールが完了したらホームディレクトリ下にSitesというフォルダを作成する.
mkdir ~/Sites
以後の設定により,このフォルダ内のPHPファイルを閲覧できるようになる. では,Apacheの設定ファイルを編集して行こう.
sudo nano /etc/apache2/httpd.conf
上のコマンドで設定ファイルを開くことが出来る(私はnanoが好きなのでnanoを使います). 以下の行を見つけ,それぞれの先頭にある#マークを削除(コメントアウト)する. これでその行の設定が有効化される.
httpd.conf
...
LoadModule php5_module libexec/apache2/libphp5.so
LoadModule userdir_module libexec/apache2/mod_userdir.so
Include /private/etc/apache2/extra/httpd-userdir.conf
...
El Capitanでは以上3つの設定を有効化(コメントアウト)すれば良い. Ctrlキーを押しながらxで編集を終了し,yを押下した後にReturnで保存出来る. 続いてホームディレクトリ下のフォルダを閲覧出来るよう設定する.
sudo nano /private/etc/apache2/extra/httpd-userdir.conf
以下の行を見つけ,同様にコメントアウトする.
httpd-userdir.conf
...
Include /private/etc/apache2/users/*.conf
...
編集を終えたらCtrl+x,y,Returnで保存. 次にユーザ毎の設定ファイルを作成する.
sudo nano /etc/apache2/users/ユーザ名.conf
ユーザ名の部分はホームディレクトリの名前に合わせる.
ユーザ名.conf
<Directory "/Users/ユーザ名/Sites/">
AllowOverride All
Options Indexes MultiViews
Options +FollowSymLinks
Require all granted
</Directory>
以上の設定を入力したら保存しよう. 以上で設定は終わり. 次のコマンドでApacheを起動させよう.
sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist
さて,Webブラウザを開いて"http://localhost/"へ移動しよう. "It works!"ならばApacheは正常に立ち上がっている. もしその他の表示ならば設定をもう一度見直すか,Setting up a local web server on OS Xで詳細情報を得るか,もっと信頼出来る他のリソースを漁ってみよう.
メモ
このhttp://localhost/で表示されるファイルは"/Library/WebServer/Documents"内にあるindex.html.enというファイル. 中身は次の通り.
<html><body><h1>It Works!</h1></body></html>
他にも"Powered by Mac OS X"というGIFファイルが2つある. もしindex.html.enファイルが見つからなかったら,上の内容で同名のファイルを作成しておこう.PHPファイルを閲覧する
Sitesフォルダ下にお試しのPHPファイルを作成しよう.
echo "<?php echo phpinfo(); ?>" > ~/Sites/index.php
上のコマンドでPHPの詳細情報を表示するPHPファイルをSitesフォルダ下に作成できる. Webブラウザで"http://localhost/~ユーザ名"へアクセスしてみよう. ユーザ名の部分はもちろんホームディレクトリの名前に合わせる. 下のように表示されればPHPは正常に動作している.
Sitesフォルダ下にindex.phpという名前でPHPファイルを置けば"http://localhost/~ユーザ名"でそのPHPファイルを閲覧出来る. 他のファイルは"http://localhost/~ユーザ名/ファイル名"で閲覧出来る.
PHPのタイムゾーンを設定する
いま私が編集しているPHPファイルには別ファイルの更新日時を表示する記述がある.
まず,PHPの構成ファイルを用意する.
index.php
...
echo date("M d, Y", filemtime($filename))
...
立ち上げたApacheで閲覧したところ,この部分に次のような警告文が表示されてしまった.
It is not safe to rely on the system's timezone settings.
PHPのタイムゾーン設定が正しく行われていないために起こるようだった(参考元:[PHP]php.iniのtimezoneを設定する). ここではその設定を行う.
まず,PHPの構成ファイルを用意する.
sudo cp /etc/php.ini.default /etc/php.ini
php.iniというのがPHPの構成ファイルにあたる.
sudo nano /etc/php.ini
構成ファイルを開いたらdate.timezoneという記述を見つける.
/etc/php.ini
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = "Asia/Tokyo"
そこにAsia/Tokyoと追記すればタイムゾーン設定は完了. 構成ファイルを保存したら次のコマンドでApacheを再起動させよう.
sudo apachectl restart
該当PHPファイルを閲覧し直すと警告文は消え,望む結果を得られた.
6396526836135974163
https://www.storange.jp/2016/01/apachephp-os-x-el-capitan.html
https://www.storange.jp/2016/01/apachephp-os-x-el-capitan.html
ApacheでPHPを表示する (Mac OS X El Capitan)
2016-01-09T14:29:00+09:00
https://www.storange.jp/2016/01/apachephp-os-x-el-capitan.html
Hideyuki Tabata
Hideyuki Tabata
200
200
72
72