絖綛 N@i.jp  昨日:00009881
 今日:00007727
 総計:00064232
keywords
管理者専用
  Post   Add link   Control Panel 































新しいトピック
最新:11/14 16:41


新しいコメント
最新:07/28 16:47






管理人へMAIL

プライバシーポリシー

次は PHP 8.1 へ(3)

移行完了!


5. インストール

$ cd /usr/local
$ sudo cp -pR php8 php8.bak

と、念のため PHP 8.0 をバックアップしておいてからインストールを敢行。

$ cd ~/php-8.1.15
$ sudo make install
Installing PHP SAPI module:       apache2handler
/usr/local/apache2/build/instdso.sh SH_LIBTOOL='/usr/local/apache2/build-1/libtool' libs/libphp.so /usr/local/apache2/modules
/usr/local/apache2/build-1/libtool --mode=install install libs/libphp.so /usr/local/apache2/modules/
libtool: install: install libs/libphp.so /usr/local/apache2/modules/libphp.so
Warning!  dlname not found in /usr/local/apache2/modules/libphp.so.
Assuming installing a .so rather than a libtool archive.
chmod 755 /usr/local/apache2/modules/libphp.so
[activating module `php' in /usr/local/apache2/conf/httpd.conf]
Installing shared extensions:     /usr/local/php8/lib/php/extensions/no-debug-zts-20210902/
Installing PHP CLI binary:        /usr/local/php8/bin/
Installing PHP CLI man page:      /usr/local/php8/php/man/man1/
Installing phpdbg binary:         /usr/local/php8/bin/
Installing phpdbg man page:       /usr/local/php8/php/man/man1/
Installing PHP CGI binary:        /usr/local/php8/bin/
Installing PHP CGI man page:      /usr/local/php8/php/man/man1/
Installing build environment:     /usr/local/php8/lib/php/build/
Installing header files:          /usr/local/php8/include/php/
Installing helper programs:       /usr/local/php8/bin/
  program: phpize
  program: php-config
Installing man pages:             /usr/local/php8/php/man/man1/
  page: phpize.1
  page: php-config.1
Installing PEAR environment:      /usr/local/php8/lib/php/
[PEAR] Archive_Tar    - already installed: 1.4.14
[PEAR] Console_Getopt - already installed: 1.4.3
[PEAR] Structures_Graph- already installed: 1.1.1
[PEAR] XML_Util       - already installed: 1.4.5
[PEAR] PEAR           - already installed: 1.10.13
Wrote PEAR system config file at: /usr/local/php8/etc/pear.conf
You may want to add: /usr/local/php8/lib/php to your php.ini include_path
/home/hoge/php-8.1.15/build/shtool install -c ext/phar/phar.phar /usr/local/php8/bin/phar.phar
ln -s -f phar.phar /usr/local/php8/bin/phar
Installing PDO headers:           /usr/local/php8/include/php/ext/pdo/

 "php.ini"ファイルはざっと見たとこ PHP 8.1で変わったような所は特に無さそうだったので PHP 8.0 の物をそのまま流用し、以下のみ修正しました。

zend_extension=/usr/local/php8/lib/php/extensions/no-debug-zts-20210902/opcache.so

 とりあえず cliで実行。

$ /usr/local/php8/bin/php -v
PHP 8.1.15 (cli) (built: Feb 13 2023 11:11:08) (ZTS)
Copyright (c) The PHP Group
Zend Engine v4.1.15, Copyright (c) Zend Technologies
    with Zend OPcache v8.1.15, Copyright (c), by Zend Technologies

うん、動いているようですね。Apache の "httpd.conf" もインストーラーまかせで特に修正せず。

6. PHPスクリプトの互換性チェック

$ PATH="/usr/local/php8/bin:$PATH"
$ ~/.composer/vendor/bin/phpcs -i
The installed coding standards are MySource, PEAR, PSR1, PSR2, PSR12, Squiz, Zend and PHPCompatibility
$ ~/.composer/vendor/bin/phpcs -p *.php admin config template --standard=PHPCompatibility --runtime-set testVersion 8.1
............................................................  60 / 279 (22%)
....................W....................................... 120 / 279 (43%)
.....WW.....................WWWWWW......................WWWW 180 / 279 (65%)
WWWWW......................WWWWWWWWW......................WW 240 / 279 (86%)
WWWWWW......................WWWWWWWW...                      279 / 279 (100%)

FILE: /home/hoge/htdocs/template/hogehoge/footer.php
----------------------------------------------------------------------
FOUND 0 ERRORS AND 1 WARNING AFFECTING 1 LINE
----------------------------------------------------------------------
 1 | WARNING | No PHP code was found in this file and short open tags
   |         | are not allowed by this install of PHP. This file may
   |         | be using short open tags but PHP does not allow them.
----------------------------------------------------------------------
〜略〜

Time: 16.06 secs; Memory: 4MB

 警告(WARNING)だけで、しかも今は使用していないテンプレのファイルだけでした。警告内容は「PHP構文がない」というもので、実際には "<?" という古い記述方法が使われているのが原因だったので、特に修正の必要はありませんでした。

7. Apache再起動、動作確認

$ sudo /usr/local/apache2/bin/apachectl stop
$ sudo /usr/local/apache2/bin/apachectl configtest
Syntax OK
$ sudo /usr/local/apache2/bin/apachectl start

 Apacheの "error_log" ファイルを確認したけど、特に異常は見られず Blogも正常に表示、動作しているようです。以上で PHP 8.1への移行は完了。これであと2年くらい運用続けられるかな?


< 過去の記事 [ 2月の Blog リスト ] 新しい記事 >

2023 calendar
2月
1234
567891011
12131415161718
19202122232425
262728


掲示板
最新:08/15 17:19


GsBlog was developed by GUSTAV, Copyright(C) 2003, Web Application Factory All Rights Reserved.