PhpPaket: Unterschied zwischen den Versionen

Aus Info-Theke
Zur Navigation springen Zur Suche springen
 
(10 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 4: Zeile 4:
* [[PhpDebugger]]
* [[PhpDebugger]]
* [[PHP]]
* [[PHP]]
* [[PhpPackage]]


== Installation ==
== Installation ==
<pre>VERSION=7.4
<syntaxhighlight lang="bash">
apt install php${VERSION}-cli php${VERSION}-common php${VERSION}-curl php${VERSION}-fpm php${VERSION}-gd php${VERSION}-igbinary \
PHP_VERS=8.2
php${VERSION}-imagick php${VERSION}-imap php${VERSION}-intl php${VERSION}-mbstring \
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}
php${VERSION}-memcache php${VERSION}-memcached php${VERSION}-msgpack php${VERSION}-mysql \
</syntaxhighlight>
php${VERSION}-opcache php${VERSION}-readline php${VERSION}-redis php${VERSION}-xdebug \
php${VERSION}-xml php${VERSION}-zip php${VERSION}-yaml php${VERSION}-json
</pre>
<pre>add-apt-repository ppa:ondrej/php
<pre>add-apt-repository ppa:ondrej/php
apt-get install php5.6-cli php5.6-common php5.6-curl php5.6-fpm php5.6-gd php5.6-imap \
apt-get install php5.6-cli php5.6-common php5.6-curl php5.6-fpm php5.6-gd php5.6-imap \
Zeile 19: Zeile 17:
</pre>
</pre>
* Ersatz von php7.3-mcrypt: [[https://stackoverflow.com/questions/48275494/issue-in-installing-php7-2-mcrypt stackoverflow]]
* 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 29: Zeile 36:


== 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 41: Zeile 50:
session.save_handler = redis
session.save_handler = redis
session.save_path = "tcp://127.0.0.1:6379"
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;
Zeile 48: Zeile 79:
== Konfiguration ausgeben ==
== Konfiguration ausgeben ==
<pre>php -i
<pre>php -i
php7.4 -i | egrep "^(memory_limit|upload_max_filesize|max_file_uploads|post_max_size|max_execution_time|max_input_time|session.save_handler"
</pre>
</pre>

Aktuelle Version vom 30. September 2024, 13:14 Uhr


Links[Bearbeiten]

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}
add-apt-repository ppa:ondrej/php
apt-get install php5.6-cli php5.6-common php5.6-curl php5.6-fpm php5.6-gd php5.6-imap \
   php5.6-intl php5.6-json php5.6-mbstring php5.6-mcrypt php5.6-mysql php5.6-opcache \
   php5.6-readline php5.6-sqlite3 php5.6-xml php5.6-zip 

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

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]

php -i
php7.4 -i | egrep "^(memory_limit|upload_max_filesize|max_file_uploads|post_max_size|max_execution_time|max_input_time|session.save_handler"