PHP

Docker + PHPFPM デバッグ・エラーログ

[ec2-user@ip-10-0-1-164 ~]$ sudo docker logs phpfpm71 -f –tail=10
172.17.0.1 – 04/Dec/2019:00:02:18 +0000 “GET /index.php” 404
172.17.0.1 – 04/Dec/2019:00:05:09 +0000 “GET /index.php” 200
172.17.0.1 – 04/Dec/2019:00:10:37 +0000 “GET /index.php” 200
172.17.0.1 – 04/Dec/2019:00:13:13 +0000 “GET /index.php” 200
172.17.0.1 – 04/Dec/2019:00:13:15 +0000 “GET /index.php” 404
172.17.0.1 – 04/Dec/2019:00:13:18 +0000 “GET /index.php” 500
172.17.0.1 – 04/Dec/2019:00:13:19 +0000 “GET /index.php” 404
172.17.0.1 – 04/Dec/2019:00:19:33 +0000 “GET /index.php” 404
172.17.0.1 – 04/Dec/2019:00:35:55 +0000 “GET /index_dev.php” 200
172.17.0.1 – 04/Dec/2019:00:35:57 +0000 “GET /index_dev.php” 200

エラーの場合は、コードしか表記されず、
どのファイルの何行目かは、わからない。

 

/usr/local/etc/php-fpm.d/www.conf

;php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f www@my.domain.com
php_flag[display_errors] = on
php_admin_value[error_log] = /var/log/fpm-php.www.log
php_admin_value[error_reporting] = E_ALL & ~E_NOTICE
php_admin_flag[log_errors] = on
;php_admin_value[memory_limit] = 32M

 

/var/log/fpm-php.www.log

[ec2-user@ip-10-0-1-164 ~]$ sudo docker exec phpfpm71 tail -f /var/log/fpm-php.www.log
[04-Dec-2019 03:33:25 Asia/Tokyo] PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 98570240 bytes) in /var/www/html/skilipaca.com/pub3/html/_function.php on line 6
[04-Dec-2019 03:43:39 Asia/Tokyo] PHP Warning: Uncaught Symfony\Component\Debug\Exception\ContextErrorException: Warning: var_export does not handle circular references in /var/www/html/skilipaca.com/pub3/html/_function.php:6
Stack trace:
#0 [internal function]: Symfony\Component\Debug\ErrorHandler->handleError(2, ‘var_export does…’, ‘/var/www/html/s…’, 6, Array)
#1 /var/www/html/skilipaca.com/pub3/html/_function.php(6): var_export(Object(Plugin\Point\Entity\OrderPoint), true)
#2 /var/www/html/skilipaca.com/pub3/app/Plugin/Point/Event/ZeusTokenPaymentEvent.php(43): Plugin\Point\Repository\OrderPointRepository->findOneByOrderForCurrentUser(Object(Eccube\Entity\Order))

 

 

-

php gdのインストール @alpine Linux

alpine Linux on DOCKERでのPHP モジュールGDで手こずりました。

メモ同然の記事になっておりますが、
そこは、ご割愛。

***

ftp > GD > gettextとくるはずが、GDが非表示

PHP GDモジュール

php_infoを吐き出していたけど、
コマンド上で、「php -m」してみると、

PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/lib/php/extensions/no-debug-non-zts-20160303/xsl.so' - Error loading shared library libexslt.so.0: No such file or directory (needed by /usr/local/lib/php/extensions/no-debug-non-zts-20160303/xsl.so) in Unknown on line 0

エラーでてるや~ん!

※imagegickも別のモジュールがないとエラー出ていたが、GDが使えるなら、今回は不要なんで除外。

 

xsl.soをインストール。

 

Linux Alpine

今回、DockerでPHP7.1を構築していることもあり、
いくら頑張っても親のAmazon Linuxでxsl.soをインスコ出来なかったわけで、

以下のモジュールを追加した。

  • libxslt 22Mib
  • libx11 24Mib
  • openssl-dev 40Mib
  • libxpm 45Mib
  • libpng 45Mib
  • gd 48Mib
  • libpng-dev 45Mib

libssl.so.10が見つからない

参考 > https://hub.docker.com/r/labianchin/alpine-tomcat/dockerfile

cd /usr/lib && ln -s libssl.so.1.0.0 libssl.so.10

別名みたい?

 

結局

docker-php-ext-install -j$(nproc) gd

で、成功!

参考 >> https://hub.docker.com/_/php

  • libfreetype6-dev
  • libjpeg62-turbo-dev
  • libpng-dev

も追加で必要。

Alpine PHP-FPM GD

PS.

ftp用

  • openssl-dbg 60Mib
-