Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste ÜberarbeitungBeide Seiten der Revision
content:apache_phpfpm [2020/04/03 16:07] – [PHP Configuration] Danielcontent:apache_phpfpm [2020/04/05 18:26] – [Tell Apache to use php-fpm] Daniel
Zeile 113: Zeile 113:
  
 sudo zypper install php7-fpm sudo zypper install php7-fpm
- 
-</code> 
-  * Than, install mod_fcgi - it is used to tunnel request to php-fpm: 
- 
-<code> 
-sudo zypper install apache2-mod_fcgid 
-sudo a2enmod proxy proxy_fcgi setenvif 
  
 </code> </code>
Zeile 141: Zeile 134:
   * pm.min_spare_servers = 6   * pm.min_spare_servers = 6
   * pm.max_spare_servers = 18   * pm.max_spare_servers = 18
 +
  
 ==== PHP Configuration ==== ==== PHP Configuration ====
Zeile 158: Zeile 152:
 === About PHP- Modules === === About PHP- Modules ===
  
-many modules for PHP are offered in the Distrubution. I **would not recommend using those** - as they need to be compiled against your php. If you update PHP and your modules are the same, they may brake your PHP. Better use pearl / pecl and install modules with it!+many modules for PHP are offered in the Distrubution. I **would not recommend using those** - as all php-modules need to be compiled against your php. If you update PHP and your modules are the same, they may brake your PHP!
  
-And again don'use the packages of the distribution. Get pear itself - check [[https://pear.php.net/manual/en/installation.getting.php|https://pear.php.net/manual/en/installation.getting.php]]+Better use pearl pecl and install modules with it! Here, i have found no other way, than to search for php-pear and php-pecl in the distribution and use them.
  
-and see [[https://www.php.net/manual/en/install.pecl.intro.php|https://www.php.net/manual/en/install.pecl.intro.php]]+For me, i needed: php-pear, php-pecl, php7-devel (for command phpize) 
 + 
 +Which can be found in the Repo: [[https://build.opensuse.org/project/show/devel:languages:php|https://build.opensuse.org/project/show/devel:languages:php]] 
 + 
 +After that, modules can be installed by e.g. "pecl install imagick"They also need to be loaded in php.conf. I would make an new config named /etc/php7/conf.d/pear_pecl.conf and include they modules there. E.g. "extension=imagick.so" 
 + 
 +Restart php-fpm for the changes and check the log of php-fpm (usually in /var/log/php-fpm.log) for errors when loading modules.
  
  
 ===== Tell Apache to use php-fpm ===== ===== Tell Apache to use php-fpm =====
  
-After php-fpm works, you can tell mod_fcgi to use it:+For making Apache use php-fpm as php-server, you use the module "proxy_fcgi", which should be included in the apache MPM- Package. 
 + 
 +Caution: this has noting to do with "mod_fcgi"! You will not need mod_fcgi, as this would manage php itself in a new server, which we dont' want! "proxy_fcgi" offers the fcgi- interface and tunnels it to php-fpm. Thus, it will be a small wrapper, not having to manage something as big as php. 
 + 
 +  * To enable this and all its dependencies, use 
 + 
 +<code> 
 +sudo a2enmod setenvif rewrite proxy proxy_fcgi 
 + 
 +</code> 
 + 
 +Now, tell proxy_fcgi to use php:
  
-  * Edit /etc/apache2/conf.d/mod_proxy_fcgi.conf and add:+  * Create /etc/apache2/conf.d/mod_proxy_fcgi.conf and add:
  
 <code> <code>
Zeile 194: Zeile 205:
  
 </code> </code>
 +===== Start and check Apache =====
  
 Now you can start and enable apache2 Now you can start and enable apache2
Zeile 202: Zeile 214:
  
 </code> </code>
 +
 +check if the modules have beend loaded:
 +
 +apache2ctl -M
 +
 +This should include proxy_fcgi_module now.
  
 You are done. Now its up to you to fill Apache with content. Have fun! You are done. Now its up to you to fill Apache with content. Have fun!
  
  
  • content/apache_phpfpm.txt
  • Zuletzt geändert: 2023/10/01 10:24
  • von Daniel