PhpPaket: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
(17 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 4: | Zeile 4: | ||
* [[PhpDebugger]] | * [[PhpDebugger]] | ||
* [[PHP]] | * [[PHP]] | ||
* [[PhpPackage]] | |||
== | == Konfigurierung == | ||
<pre> | <pre> | ||
PHP_VERS=8.3 | |||
FN=/etc/php/$PHP_VERS/fpm/php.ini | |||
egrep "^(session.save_handler|session.save_path|opcache.memory_consumption|opcache.interned_strings_buffer)" $FN | |||
sed -i $FN \ | |||
-e 's/^memory_limit *=.*/memory_limit = 2048M/' \ | |||
-e 's/^upload_max_filesize *=.*/upload_max_filesize = 512M/' \ | |||
-e 's/^max_file_uploads *=.*/max_file_uploads = 100/' \ | |||
-e 's/^post_max_size *=.*/post_max_size = 512M/' \ | |||
-e 's/^max_execution_time *=.*/max_execution_time = 3600/' \ | |||
-e 's/^max_input_time *=.*/max_input_time = 3600/' \ | |||
-e 's/^default_socket_timeout *=.*/default_socket_timeout = 3600/' \ | |||
-e 's/^session.save_handler *=.*/session.save_handler = redis/' \ | |||
-e 's%^session.save_path *=.*%session.save_path = "tcp://127.0.0.1:6379"%' \ | |||
-e 's/^opcache.enable *=.*/opcache.enable = 1/' \ | |||
-e 's/^opcache.memory_consumption *=.*/opcache.memory_consumption = 1024/' \ | |||
-e 's/^opcache.interned_strings_buffer =.*/opcache.interned_strings_buffer = 256/' \ | |||
$FN | |||
grep -q ^session.save_path $FN || sed -i -e 's%^;session.save_path *=.*%session.save_path = "tcp://127.0.0.1:6379"%' $FN | |||
grep -q ^opcache.enable $FN || sed -i -e 's/^;opcache.enable *=.*/opcache.enable = 1/' $FN | |||
grep -q ^opcache.memory_consumption $FN || sed -i -e 's/^;opcache.memory_consumption *=.*/opcache.memory_consumption = 1024/' $FN | |||
grep -q ^opcache.interned_strings_buffer $FN || sed -i -e 's/^;opcache.interned_strings_buffer */opcache.interned_strings_buffer = 256/' $FN | |||
egrep "^(memory_limit|upload_max_filesize|post_max_size|max_execution_time|max_input_time|default_socket_timeout)" $FN | |||
egrep "^(session.save_handler|session.save_path|opcache.memory_consumption|opcache.interned_strings_buffer)" $FN | |||
</pre> | </pre> | ||
== Error-Logging == | == Error-Logging == | ||
Zeile 44: | Zeile 42: | ||
== Wichtige Konfiguration in php.ini == | == Wichtige Konfiguration in php.ini == | ||
* PHP_VERS=8.2 | |||
* /etc/php/$PHP_VERS/fpm/php.ini | |||
<pre> | <pre> | ||
memory_limit = 2048M | memory_limit = 2048M | ||
Zeile 52: | Zeile 52: | ||
max_input_time = 600 | max_input_time = 600 | ||
default_socket_timeout = 600 | default_socket_timeout = 600 | ||
[Session] | |||
#session.save_handler = files | |||
session.save_handler = redis | |||
session.save_path = "tcp://127.0.0.1:6379" | |||
[opcache] | |||
opcache.enable=1 | |||
opcache.memory_consumption=1024 | |||
opcache.interned_strings_buffer=512 | |||
[XDebug] | |||
; Ist normalerweise in xdebug-spezifischer Konfiguration, z.B. mods.d/20-xdebug | |||
;zend_extension="/usr/lib/php/20160303/xdebug.so" | |||
xdebug.remote_port=9004 | |||
xdebug.remote_enable=On | |||
xdebug.remote_host=192.168.100.100 | |||
; Alternativ: remote-Adresse selber ermitteln: | |||
;xdebug.remote_connect_back=On | |||
xdebug.remote_log=/var/log/php/xdebug.log | |||
xdebug.remote_autostart=1 | |||
</pre> | |||
* pool.d/www.conf | |||
<pre> | |||
pm.max_children = 30 | |||
pm.start_servers=20 | |||
pm.min_spare_servers = 20 | |||
pm.max_spare_servers = 30 | |||
</pre> | </pre> | ||
* in NGINX: | * in NGINX: | ||
** fastcgi_read_timeout 3600s; | ** fastcgi_read_timeout 3600s; | ||
== Konfiguration ausgeben == | == Konfiguration ausgeben == | ||
<pre>php - | <pre> | ||
egrep "^(memory_limit|upload_max_filesize|max_file_uploads|post_max_size|max_execution_time|max_input_time|session.save_handler)" php.ini | |||
</pre> | |||
== Installation == | |||
<syntaxhighlight lang="bash"> | |||
PHP_VERS=8.2 | |||
apt install php$PHP_VERS php$PHP_VERS-{cli,common,curl,fpm,gd,igbinary,imagick,imap,intl,mbstring,memcached,msgpack,mysql,opcache,phpdbg,readline,redis,xdebug,xml,zip} | |||
</syntaxhighlight> | |||
<pre> | |||
sudo apt install -y apt-transport-https lsb-release ca-certificates wget | |||
wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg | |||
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php.list | |||
</pre> | </pre> | ||
* Ersatz von php7.3-mcrypt: [[https://stackoverflow.com/questions/48275494/issue-in-installing-php7-2-mcrypt stackoverflow]] | |||
= Repository einrichten = | |||
<syntaxhighlight lang="bash"> | |||
sudo apt install -y lsb-release ca-certificates apt-transport-https software-properties-common gnupg2 | |||
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/sury-php.list | |||
curl -fsSL https://packages.sury.org/php/apt.gpg| sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/sury-keyring.gpg | |||
sudo apt update | |||
sudo apt install php8.1 | |||
</syntaxhighlight> |
Aktuelle Version vom 19. Februar 2025, 18:42 Uhr
Links[Bearbeiten]
Konfigurierung[Bearbeiten]
PHP_VERS=8.3 FN=/etc/php/$PHP_VERS/fpm/php.ini egrep "^(session.save_handler|session.save_path|opcache.memory_consumption|opcache.interned_strings_buffer)" $FN sed -i $FN \ -e 's/^memory_limit *=.*/memory_limit = 2048M/' \ -e 's/^upload_max_filesize *=.*/upload_max_filesize = 512M/' \ -e 's/^max_file_uploads *=.*/max_file_uploads = 100/' \ -e 's/^post_max_size *=.*/post_max_size = 512M/' \ -e 's/^max_execution_time *=.*/max_execution_time = 3600/' \ -e 's/^max_input_time *=.*/max_input_time = 3600/' \ -e 's/^default_socket_timeout *=.*/default_socket_timeout = 3600/' \ -e 's/^session.save_handler *=.*/session.save_handler = redis/' \ -e 's%^session.save_path *=.*%session.save_path = "tcp://127.0.0.1:6379"%' \ -e 's/^opcache.enable *=.*/opcache.enable = 1/' \ -e 's/^opcache.memory_consumption *=.*/opcache.memory_consumption = 1024/' \ -e 's/^opcache.interned_strings_buffer =.*/opcache.interned_strings_buffer = 256/' \ $FN grep -q ^session.save_path $FN || sed -i -e 's%^;session.save_path *=.*%session.save_path = "tcp://127.0.0.1:6379"%' $FN grep -q ^opcache.enable $FN || sed -i -e 's/^;opcache.enable *=.*/opcache.enable = 1/' $FN grep -q ^opcache.memory_consumption $FN || sed -i -e 's/^;opcache.memory_consumption *=.*/opcache.memory_consumption = 1024/' $FN grep -q ^opcache.interned_strings_buffer $FN || sed -i -e 's/^;opcache.interned_strings_buffer */opcache.interned_strings_buffer = 256/' $FN egrep "^(memory_limit|upload_max_filesize|post_max_size|max_execution_time|max_input_time|default_socket_timeout)" $FN egrep "^(session.save_handler|session.save_path|opcache.memory_consumption|opcache.interned_strings_buffer)" $FN
Error-Logging[Bearbeiten]
- php.ini:
- error_log = /var/log/php/php.log
- log_errors = on
- im Programm:
- error_reporting(E_ALL);
- error_log("=== start");
Wichtige Konfiguration in php.ini[Bearbeiten]
- PHP_VERS=8.2
- /etc/php/$PHP_VERS/fpm/php.ini
memory_limit = 2048M upload_max_filesize = 512M max_file_uploads = 100 post_max_size = 512M max_execution_time = 600 max_input_time = 600 default_socket_timeout = 600 [Session] #session.save_handler = files session.save_handler = redis session.save_path = "tcp://127.0.0.1:6379" [opcache] opcache.enable=1 opcache.memory_consumption=1024 opcache.interned_strings_buffer=512 [XDebug] ; Ist normalerweise in xdebug-spezifischer Konfiguration, z.B. mods.d/20-xdebug ;zend_extension="/usr/lib/php/20160303/xdebug.so" xdebug.remote_port=9004 xdebug.remote_enable=On xdebug.remote_host=192.168.100.100 ; Alternativ: remote-Adresse selber ermitteln: ;xdebug.remote_connect_back=On xdebug.remote_log=/var/log/php/xdebug.log xdebug.remote_autostart=1
- pool.d/www.conf
pm.max_children = 30 pm.start_servers=20 pm.min_spare_servers = 20 pm.max_spare_servers = 30
- in NGINX:
- fastcgi_read_timeout 3600s;
Konfiguration ausgeben[Bearbeiten]
egrep "^(memory_limit|upload_max_filesize|max_file_uploads|post_max_size|max_execution_time|max_input_time|session.save_handler)" php.ini
Installation[Bearbeiten]
PHP_VERS=8.2
apt install php$PHP_VERS php$PHP_VERS-{cli,common,curl,fpm,gd,igbinary,imagick,imap,intl,mbstring,memcached,msgpack,mysql,opcache,phpdbg,readline,redis,xdebug,xml,zip}
sudo apt install -y apt-transport-https lsb-release ca-certificates wget wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php.list
- Ersatz von php7.3-mcrypt: [stackoverflow]
Repository einrichten[Bearbeiten]
sudo apt install -y lsb-release ca-certificates apt-transport-https software-properties-common gnupg2
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/sury-php.list
curl -fsSL https://packages.sury.org/php/apt.gpg| sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/sury-keyring.gpg
sudo apt update
sudo apt install php8.1