php¶
Le paquet php 8.0 est dispo:
https://www.synology.com/fr-fr/support/download/DS916+?version=7.0#packages
Les services php actifs:¶
$ systemctl | grep PHP
pkg-WebStation-php74@182b445b-6caf-469f-acaa-a763582ba8db.service loaded active running WebStation PHP7.4 fpm process
pkg-WebStation-php74@da937888-3180-4a69-96d6-076b750f2b06.service loaded active running WebStation PHP7.4 fpm process
pkg-WebStation-php74@e32d3cf6-055c-43f0-802d-6b72e9437f42.service loaded active running WebStation PHP7.4 fpm process
pkg-WebStation-php80@746b57c5-03a4-4210-bf14-1d7df30c8b79.service loaded active running WebStation PHP8.0 fpm process
pkgctl-PHP7.4.service loaded active exited PHP7.4's service unit
pkgctl-PHP8.0.service loaded active exited PHP8.0's service unit
PHP7.3.slice loaded active active PHP7.3.slice
PHP7.4.slice loaded active active PHP7.4's slice
PHP8.0.slice loaded active active PHP8.0's slice
Les services apache actifs:¶
$ systemctl | grep apache
pkg-apache24.service loaded active running Apache2.4 daemon
Redémarrer un service:¶
$ sudo systemctl restart pkgctl-PHP8.0.service
$ sudo systemctl stop pkgctl-PHP8.0.service
$ sudo systemctl start pkgctl-PHP8.0.service
Mettre PHP 8.0 cli par défaut:¶
$ sudo -i
Password:
root@DS916:~# cd /usr/bin/
root@DS916:/usr/bin# mv php php73
root@DS916:/usr/bin# ln -s /volume1/@appstore/PHP8.0/usr/local/bin/php80 php
root@DS916:/usr/bin# php -v
PHP 8.0.17 (cli) (built: Mar 22 2022 17:54:40) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.0.17, Copyright (c) Zend Technologies
Liste des php.ini:¶
$ find / -name php.ini 2>/dev/null
/usr/local/etc/php73/cli/php.ini
/usr/local/etc/php80/cli/php.ini memory_limit = 512M
/usr/local/etc/php74/cli/php.ini memory_limit = 128M
/etc.defaults/php/php.ini memory_limit = 128M
/volume1/@appstore/PHP7.0/usr/local/etc/php70/php.ini
/volume1/@appstore/PHP7.2/usr/local/etc/php72/cli/php.ini
/volume1/@appstore/PHP7.4/usr/local/etc/php74/cli/php.ini memory_limit = 128M
/volume1/@appstore/PHP8.0/usr/local/etc/php80/cli/php.ini memory_limit = 512M
/etc/php/php.ini memory_limit = 512M
/volume1/@appstore/PHP8.0/misc/php-fpm.ini <- memory_limit pris en compte par php-info memory_limit = 512M
PHP 8.0¶
Liste des fichiers de conf:¶
$ php --ini
Configuration File (php.ini) Path: /usr/local/etc/php80/cli
Loaded Configuration File: /usr/local/etc/php80/cli/php.ini
Scan for additional .ini files in: /usr/local/etc/php80/cli/conf.d
Additional .ini files parsed: /usr/local/etc/php80/cli/conf.d/extension.ini,
/usr/local/etc/php80/cli/conf.d/nextcloud.ini,
/usr/local/etc/php80/cli/conf.d/timezone.ini
bruno@DS916:~ $ cd /usr/local/etc/php80/cli/conf.d
total 20
-rw-r--r-- 1 root root 773 May 4 08:17 extension.ini
-rw-r--r-- 1 root root 68 May 4 09:48 nextcloud.ini
-rw-r--r-- 1 root root 32 May 4 08:17 timezone.ini
Erreur Nextcloud OC\HintException: [0]: Memcache \OC\Memcache\APCu not available for local cache:¶
Il faut rajouter l'extension apcu mais elle n'est pas dispo dans le profil PHP.
bruno@DS916:/usr/local/etc/php80/cli/conf.d $ cat nextcloud.ini
extension = apcu.so
[apc]
apc.shm_size = 512M
apc.enable_cli = 1
Liste des modules PHP:¶
$ php -m
[PHP Modules]
apcu
bcmath
bz2
calendar
Core
ctype
curl
date
dba
dom
exif
fileinfo
filter
ftp
gd
gettext
gmp
hash
iconv
imap
intl
json
ldap
libxml
mailparse
mbstring
mysqli
mysqlnd
openssl
pcntl
pcre
PDO
pdo_dblib
pdo_mysql
pdo_pgsql
pdo_sqlite
pgsql
Phar
posix
readline
redis
Reflection
session
shmop
SimpleXML
soap
sockets
sodium
SPL
sqlite3
ssh2
standard
sysvmsg
sysvsem
sysvshm
tokenizer
xml
xmlreader
xmlwriter
xsl
zip
zlib
[Zend Modules]
Dossier des modules:¶
/volume1/@appstore/PHP8.0/usr/local/lib/php80/modules/
/volume1/@appstore/PHP7.4/usr/local/lib/php74/modules/
Les extensions n'apparaissent pas dans les Extensions du profil PHP (Web Station). Il faut éditer extension_list.json
:
$ sudo nano /volume1/@appstore/PHP8.0/misc/extension_list.json
"apcu": {
"enable_default": true,
"desc": "APC User Cache."
},
"redis": {
"enable_default": true,
"desc": "The php redis extension provides an API for communicating with the Redis key-value store.."
},
Installer Composer:¶
On se place dans /usr/local/bin:
bruno@DS916:~ $ cd /usr/local/bin
et on installe Composer:
bruno@DS916:/usr/local/bin $ sudo curl -s http://getcomposer.org/installer | sudo php80
Password:
All settings correct for using Composer
Downloading...
Composer (version 2.5.7) successfully installed to: /usr/local/bin/composer.phar
Use it: php composer.phar
Pour l'appeler directement, on crée un script:
bruno@DS916:/usr/local/bin $ sudo nano composer
#!/bin/bash
php /usr/local/bin/composer.phar $*
bruno@DS916:/usr/local/bin $ sudo chmod --reference=composer.phar composer
bruno@DS916:/usr/local/bin $ composer --version
Composer version 2.5.7 2023-05-24 15:00:39
Dernière mise à jour:
November 9, 2023