14-11-2023
This commit is contained in:
269
docs/Synology/dsm7/php.md
Normal file
269
docs/Synology/dsm7/php.md
Normal file
@@ -0,0 +1,269 @@
|
||||
# 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
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user