270 lines
6.0 KiB
Markdown
270 lines
6.0 KiB
Markdown
# 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:
|
|
|
|
```bash
|
|
$ 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:
|
|
|
|
```bash
|
|
$ systemctl | grep apache
|
|
pkg-apache24.service loaded active running Apache2.4 daemon
|
|
```
|
|
|
|
|
|
|
|
#### Redémarrer un service:
|
|
|
|
```bash
|
|
$ sudo systemctl restart pkgctl-PHP8.0.service
|
|
```
|
|
|
|
```bash
|
|
$ sudo systemctl stop pkgctl-PHP8.0.service
|
|
$ sudo systemctl start pkgctl-PHP8.0.service
|
|
```
|
|
|
|
|
|
|
|
#### Mettre PHP 8.0 cli par défaut:
|
|
|
|
```bash
|
|
$ 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:
|
|
|
|
```bash
|
|
$ 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:
|
|
|
|
```bash
|
|
$ 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
|
|
```
|
|
|
|
|
|
|
|
```bash
|
|
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.
|
|
|
|
```bash
|
|
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:
|
|
|
|
```bash
|
|
$ 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 <u>Extensions du profil PHP</u> (Web Station). Il faut éditer `extension_list.json`:
|
|
|
|
```bash
|
|
$ 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:
|
|
|
|
```bash
|
|
bruno@DS916:~ $ cd /usr/local/bin
|
|
```
|
|
|
|
et on installe Composer:
|
|
|
|
```bash
|
|
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:
|
|
|
|
```bash
|
|
bruno@DS916:/usr/local/bin $ sudo nano composer
|
|
```
|
|
|
|
```bash
|
|
#!/bin/bash
|
|
php /usr/local/bin/composer.phar $*
|
|
```
|
|
|
|
```bash
|
|
bruno@DS916:/usr/local/bin $ sudo chmod --reference=composer.phar composer
|
|
```
|
|
|
|
```bash
|
|
bruno@DS916:/usr/local/bin $ composer --version
|
|
Composer version 2.5.7 2023-05-24 15:00:39
|
|
```
|
|
|