- 追加された行はこの色です。
- 削除された行はこの色です。
#author("2018-09-14T13:13:03+09:00","default:kuji","kuji")
#author("2023-02-20T08:53:22+09:00","default:kuji","kuji")
[[PHP 5.5 から PHP 5.6 へアップグレード]]
CONTENTS
CONTENTS
#contents
----
Lastmodified &lastmod;
----
*phpBB3 3.3.10 [#cda0ab04]
https://www.phpbb.com/downloads/
*8.0から7.4 [#i79edca8]
pkg set -o lang/php80:lang/php74 y
pkg info \*php8\* > ~/installed-php-ports-list
pkg remove '*php80*' y
portinstall lang/php74 ZTS
cd /usr/ports/lang/php74-extensions && make config
portinstall lang/php74-extensions
portinstall mod_php74 ZTS
portinstall databases/phpmyadmin devel/pecl-APCu graphics/pecl-imagick --batch && apachectl restart
* mod_php80 [#p42a278b]
===> NOTICE:
******************************************************************************
If you are building PHP-based ports in poudriere(8) or Synth with ZTS enabled,
add WITH_MPM=event to /etc/make.conf to prevent build failures.
******************************************************************************
This port is deprecated; you may wish to reconsider installing it:
*7.4から8.0 [#vb55436a]
pkg set -o lang/php74:lang/php80 y
# pkg info \*php7\* > ~/installed-php-ports-list
pkg remove '*php74*' y
portinstall lang/php80 ZTS
cd /usr/ports/lang/php80-extensions
make config
make install clean
portinstall mod_php80 ZTS
portinstall databases/phpmyadmin
Nextcloud 稼働サーバだとこれも↓念為
portinstall devel/pecl-APCu
portinstall graphics/pecl-imagick
apachectrl restart
----
pkg set -o lang/php74:lang/php80 y
pkg info \*php7\* > ~/installed-php-ports-list
pkg remove '*php74*' y
portinstall lang/php80 ZTS
cd /usr/ports/lang/php80-extensions && make config
portinstall lang/php80-extensions --batch
portinstall mod_php80 ZTS
portinstall databases/phpmyadmin devel/pecl-APCu graphics/pecl-imagick --batch && apachectl restart
* 20220125: [#e01919f9]
** 影響:lang / php74のユーザー 著者:tz@FreeBSD.org [#zeb7bea0]
PHPのデフォルトバージョンが7.4から8.0に切り替えられました。
バイナリパッケージを使用する場合は、phpパッケージのリストを作成する必要があります
'pkg upgrade'を実行する前:
#pkg info \*php7\* > ~/installed-php-ports-list
アップグレード後、すべてのphp拡張機能があるかどうかをそのようなリストで確認してください
まだインストールされており、必要に応じて再インストールします。
mod_php74を使用する場合は、それをアンインストールしてmod_php80をインストールする必要があります。
# pkg set -o lang/php74:lang/php73
or
# pkg set -o lang/php80:lang/php73
# pkg info \*php7\* > ~/installed-php-ports-list
mod_php73-7.3.33
php73-7.3.33
php73-bcmath-7.3.33
php73-bz2-7.3.33
php73-calendar-7.3.33
php73-ctype-7.3.33
php73-curl-7.3.33
php73-dba-7.3.33
php73-dom-7.3.33
php73-enchant-7.3.33
php73-exif-7.3.33
php73-extensions-1.0
php73-fileinfo-7.3.33
php73-filter-7.3.33
php73-ftp-7.3.33
php73-gd-7.3.33
php73-gettext-7.3.33
php73-gmp-7.3.33
php73-hash-7.3.33
php73-iconv-7.3.33
php73-imap-7.3.33
php73-interbase-7.3.33
php73-intl-7.3.33
php73-json-7.3.33
php73-ldap-7.3.33
php73-mbstring-7.3.33
php73-mysqli-7.3.33
php73-odbc-7.3.33
php73-opcache-7.3.33
php73-openssl-7.3.33
php73-pcntl-7.3.33
php73-pdo-7.3.33
php73-pdo_dblib-7.3.33
php73-pdo_firebird-7.3.33
php73-pdo_mysql-7.3.33
php73-pdo_odbc-7.3.33
php73-pdo_pgsql-7.3.33
php73-pdo_sqlite-7.3.33
php73-pecl-APCu-5.1.21
php73-pecl-imagick-3.5.1
php73-pecl-pdflib-4.1.4_1
php73-pgsql-7.3.33
php73-phar-7.3.33
php73-posix-7.3.33
php73-pspell-7.3.33
php73-readline-7.3.33
php73-recode-7.3.33
php73-session-7.3.33
php73-shmop-7.3.33
php73-simplexml-7.3.33
php73-snmp-7.3.33
php73-sockets-7.3.33
php73-sodium-7.3.33
php73-sqlite3-7.3.33
php73-sysvmsg-7.3.33
php73-sysvsem-7.3.33
php73-sysvshm-7.3.33
php73-tidy-7.3.33
php73-tokenizer-7.3.33
php73-wddx-7.3.33
php73-xml-7.3.33
php73-xmlreader-7.3.33
php73-xmlrpc-7.3.33
php73-xmlwriter-7.3.33
php73-xsl-7.3.33
php73-zip-7.3.33
php73-zlib-7.3.33
phpMyAdmin-php73-4.9.7
pkg remove '*php73*'
portinstall lang/php74 ZTS
cd /usr/ports/lang/php74-extensions
make config
make install clean
portinstall mod_php74 ZTS
portinstall databases/phpmyadmin
Nextcloud 稼働サーバだとこれも↓念為
portinstall devel/pecl-APCu
apachectrl restart
* php71 to 72 with Nextcloud [#jd4b2228]
pkg set -o lang/php71:lang/php72
pkg info | fgrep php71 > /tmp/php.txt
で、一応、ファイル群のインストールリストを作成
pkg remove '*php71*'
で、
pkg install `sed -e 's/-7.1.*$//' -e 's/php71/php72/' -e 's/extensions.*/extensions/' /tmp/php.txt `
するも、インストールされない。ので、
portinstall lang/php72
cd /usr/ports/lang/php72-extensions
make config
で、オプション確認して、インストール
後 /usr/ports/security/mcrypt mod_pnp72, databases/phpmyadmin
portinstall graphics/pecl-imagick
などもインストール
apachectrl restart
http://freebsd.sing.ne.jp/daily/12/06/02.html
/usr/bin/su -m www -c "php /usr/local/www/nextcloud/occ upgrade
とかすると、以下の様なエラーログがでる。
PHP Deprecated: Directive 'track_errors' is deprecated in Unknown on line 0
Deprecated: Directive 'track_errors' is deprecated in Unknown on line 0
Nextcloud is already latest version
{"reqId":"6zvbYeW8vdGzBg7azPV7","level":3,"time":"2019-11-02T02:46:16+00:00",
"remoteAddr":"","user":"--","app":"PHP","method":"","url":"--","message":"Directive 'track_errors' is
deprecated at Unknown#0","userAgent":"--","version":"16.0.5.1"}
と言うエラーがでる。
対処法は、
/usr/local/etc/php.ini
track_errors = On
↓
;track_errors = On
----
Nextcloud のバージョンアップ版がでていたので、portupgrade -r --batch したら、こんなメッセージ。
This version of Nextcloud requires at least PHP 7.0
You are currently running 5.6.37. Please update your PHP version.
root@sun1:~:18_09_12:5:17 #
ということで、
*PHP 5.6 から PHP 7.x へアップグレード [#i5f23774]
drwxr-xr-x 3 root wheel 512 Sep 29 2016 php55/
drwxr-xr-x 2 root wheel 512 Sep 29 2016 php55-extensions/
drwxr-xr-x 3 root wheel 512 Aug 17 10:03 php56/
drwxr-xr-x 2 root wheel 512 Feb 1 2018 php56-extensions/
drwxr-xr-x 3 root wheel 512 Aug 4 03:20 php70/
drwxr-xr-x 2 root wheel 512 May 15 05:48 php70-extensions/
drwxr-xr-x 3 root wheel 512 Aug 20 15:53 php71/
drwxr-xr-x 2 root wheel 512 Jan 29 2017 php71-extensions/
drwxr-xr-x 3 root wheel 512 Aug 20 15:53 php72/
drwxr-xr-x 2 root wheel 512 Feb 1 2018 php72-extensions/
Portsには上記のバージョンがサポートされていて、72だと、Nextcloudがエラーする。具体的には、ログイン画面は出るが、ログインするとそこでエラーとなる。
で、7.2から7.0でダウングレード?した。
[[PHP 5.5 から PHP 5.6 へアップグレード]] を参考にして、56を72にしたが、72から70へは、簡単に php72 php72-extensions でuninstall して、
pkg set -o lang/php72:lang/php70
の後、残骸のモジュールを
pkg remove '*php72*' ← コレすると、NextcloudもPhpMyAdminも消えるw
してから、portinstall した。
取り敢えず、Nextcloudは動いた。
----
* php56 to 71 [#i96a2f59]
** pkg remove '*php56*' [#l8377851]
php56用のNextcloudとPhpMyAdminも消えるょ
php56版のNextcloudとPhpMyAdminも消えるょ
** pkg set -o lang/php56:lang/php71 [#ec19cc91]
y
** portinstall lang/php71 [#p3992a79]
for worker
&ref(php71_for_worker.PNG);
check ZTS
[Wed Sep 12 06:28:52.197731 2018] [php7:crit] [pid 2077:tid 34397577216] Apache is running a threaded MPM, but your PHP Module is not compiled to be threadsafe. You need to recompile PHP.
AH00013: Pre-configuration failed
** mod_php71 もお忘れ無く [#k7c6f08e]
** cd /usr/ports/lang/php71-extensions/ [#a253823f]
*** make config [#ce0b7277]
** portinstall lang/php71-extensions --batch [#u173f376]
** portinstall databases/phpmyadmin [#ha45902c]
* phpBB3 on php71 [#m1f9d0ad]
https://www.phpbb.com/community/viewtopic.php?t=2399941&p=14636006
mysql-driverは長い間廃止されており(php 5.4以降)、php 7.0で削除されているため、mysqli-driverを使う必要があります。config.phpを
// phpBB 3.2.x auto-generated configuration file
// Do not change anything in this file!
$dbms = 'phpbb\\db\\driver\\mysql';
↓
$dbms = 'phpbb\\db\\driver\\mysqli';
* OpenPNE3 [#p1f14f1e]
OpenPNE 3.9.2 on PHP7.1 www2.smb.net OK
*Wordpress 真っ白 [#kb65b116]
プラグイン「StatPress Reloaded」がFetal error
Elegant theme では、Warning: Illegal string offset in がでる。
https://wp-doctor.jp/blog/2016/03/10/wordpress-%E3%83%AF%E3%83%BC%E3%83%89%E3%83%97%E3%83%AC%E3%82%B9%E3%81%AE%E3%82%A8%E3%83%A9%E3%83%BC%E8%A7%A3%E8%AA%AC%EF%BC%9Awarning-illegal-string-offset-in/
/usr/local/www/data/wordpress/wp-config.php に下記追加で、エラー表示抑制した
ini_set('display_errors','Off');
ini_set('error_reporting', 0 );
define('WP_DEBUG', false);
define('WP_DEBUG_DISPLAY', false);
----
Total access &counter(total);:本日 &counter(today);:昨日 &counter(yesterday);
#counter([total|today|yesterday]);