PhpPaket: Unterschied zwischen den Versionen

Aus Info-Theke
Zur Navigation springen Zur Suche springen
 
(3 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 6: Zeile 6:
* [[PhpPackage]]
* [[PhpPackage]]


== Installation ==
== Konfigurierung ==
<syntaxhighlight lang="bash">
<pre>
PHP_VERS=8.2
PHP_VERS=8.3
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}
FN=/etc/php/$PHP_VERS/fpm/php.ini
</syntaxhighlight>
egrep "^(session.save_handler|session.save_path|opcache.memory_consumption|opcache.interned_strings_buffer)" $FN
<pre>add-apt-repository ppa:ondrej/php
sed -i $FN \
apt-get install php5.6-cli php5.6-common php5.6-curl php5.6-fpm php5.6-gd php5.6-imap \
  -e 's/^memory_limit *=.*/memory_limit = 2048M/' \
  php5.6-intl php5.6-json php5.6-mbstring php5.6-mcrypt php5.6-mysql php5.6-opcache \
  -e 's/^upload_max_filesize *=.*/upload_max_filesize = 512M/' \
  php5.6-readline php5.6-sqlite3 php5.6-xml php5.6-zip
  -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>
* 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>


== Error-Logging ==
== Error-Logging ==
Zeile 78: Zeile 84:


== Konfiguration ausgeben ==
== Konfiguration ausgeben ==
<pre>php -i
<pre>
php7.4 -i | egrep "^(memory_limit|upload_max_filesize|max_file_uploads|post_max_size|max_execution_time|max_input_time|session.save_handler"
egrep "^(memory_limit|upload_max_filesize|max_file_uploads|post_max_size|max_execution_time|max_input_time|session.save_handler)" php.ini
</pre>
</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>
* 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 

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