PHP7.0

現在、ページ内容の改装中です。
問題無い部分と、デタラメ
(と言うかバージョン的に合わない)部分が混在しています。ご利用の際はご注意を。

サーバサイドスクリプト言語です。
WEBアプリケーションでよく使われる言語のため、ApacheなどのWEBサーバを構築するときには、同時に入れる事が多いです。また、データベースシステムであるMySQL(MySQL57)も同時にインストールされる事が多いです。

PHPについて

現在、バージョンはv5.6/v7.0/v7.1が選択可能です。バージョンにより推奨非推奨の関数があるため、出来ればメインで使うプログラムの対応を確認したほうが得策です。

ここでの解説はv7.0のものです。

☆ インストール

cd /usr/ports/lang/php70
make config-recursive
make install clean && rehash

☆php.iniの編集

cd /usr/local/etc/
cp php.ini-production php.ini
chmod 600 php.ini
vi /usr/local/etc/php.ini

MySQLの設定は、特に問題無さそうだったので、
文字コード関連の項目のみ。
単にコメントを解除しただけです。

mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.http_input = UTF-8
mbstring.detect_order = auto
mbstring.substitute_character = none
mbstring.func_overload = 0
mbstring.strict_detection = off
mbstring.http_output_conv_mimetype=

ブログシステムなどを含め、ファイルをアップロードする場面が想定できる場合は、下記も設定しておくと良いです。流石にアップロードのMAX値が2MBと言うのは少なすぎますし。

upload_max_filesize = 20M
post_max_size = 20M

128MBを超えた数値を設定したい場合は『memory_limit』の設定も変更する必要があるかもしれません。ディフォルト値は128Mです。

 

◆追記

多言語化されたプログラム(WordPressなど)を使ってる分には全く問題なかったのですが、自作でプログラムを組み始めたら、ファイルの更新時刻と、プログラムで表示させた更新時刻に9時間のズレが発生。

必ずしも設定する必要は無いのでしょうが、気になるなら追記しておくことをお勧めします。

date.timezone = Asia/Tokyo

 

これ以降は、Apacheのインストール後に設定する項目になります。確認作業のしやすさから考えれば、まずはApacheの設定と動作確認をしてから、次の作業に移るのが都合が良いと思います。

 

☆http.confの編集

vi /usr/local/etc/apache24/httpd.conf

 

DocumentRoot "/***/***/***"
<Directory "/***/***/***">

Options Indexes ExecCGI FollowSymLinks
AllowOverride All
Require all granted

 

<IfModule dir_module>
DirectoryIndex index.html index.htm index.php index.cgi index.shtml
</IfModule>

 

#『Include』の上辺りにでも追加 ↓

<FilesMatch "\.php$">
SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch "\.phps$">
SetHandler application/x-httpd-php-source
</FilesMatch>

 

☆APACHEモジュールのインストール

cd /usr/ports/www/mod_php70
make config-recursive

[AP2FILTER]を選択

make install clean && rehash

私の環境では、portsからのインストールやアップデートが出来ないので、あまり好ましくないんだがpkgでインストールし、アップデートは最新版がエラーでインストールできなくても放置すると言う事をしています。

mod_php70が無ければApacheにてPHPが動かないのは確かなのですが、下お方で説明しているAP2FILTERが無ければ動かないはずのinfo.phpは無くても正常に動作しているし、この辺の資料に関しては、単に使う側でしか無い私が知るのは数年先になるのかなと・・・

 

☆libphp7.soのインストール

複数のモジュールをインストールするには『php70-extensions』が楽だと思う。基本的に必要な物ほどディフォルトで選択されていなかったりするんで、よく確認した方が良い。
(ブログシステムを使うならGD・MYSQLI・XMLRPC・ZIPなども入れたほうが良い)

cd /usr/ports/lang/php70-extensions
make config-recursive
make install clean && rehash

☆Apacheの起動

/usr/local/etc/rc.d/apache24 start

これでとりあえず、起動できたんじゃないかと思う。

☆PHPの動作確認ファイルの作成

vi /usr/local/www/apache24/data/info.php
<?php phpinfo(); ?>

☆ブラウザからの確認

ブラウザを起動し、URL欄にApacheをインストールした[サーバのIP + info.php]を打ち込んで実行。

『PHP Version 7.0.xx』と言う表示と共に、ズラズラと何かしら表示されていれば、とりあえずは成功。
表示されている項目の中で、自分でインストールしたモジュールを確認する。表示されていれば問題ないと思われる。

 

役に立ちましたか?
  • 役に立った (0)
  • 少しだけ (0)
  • これじゃない! (0)