新規記事の投稿を行うことで、非表示にすることが可能です。
2020年04月28日
Docker+Laravel(PHP7.4)のテスト時にError: Call to undefined function Illuminate\Http\Testing\imagetruecolor()
Laravel(PHP7.4)とDockerにてアップロードのテストを実行したらタイトルのエラーが発生。
調べてみると、PHPにGDのライブラリを入れていない場合に発生するエラーのよう。
とりあえず、DockerfileのPHPの箇所に以下のようにGDを追加。(GDを入れる際にはいくつか他のライブラリを入れる必要があるっぽい)
★マークが追加した箇所で、一番気をつけないといけないのは、以下の箇所。
& docker-php-ext-configure gd --with-freetype=/usr/include/ --with-jpeg=/usr/include/ \
PHP7.4から引数の書き方が変わっている模様
PHP7.3以前は以下のように書くみたいです。
--with-freetype-dirとなっていてPHP7,4では-dirが削除されています(jpegも同様)
&& docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
----- 参考Dockerfileの中身
FROM php:7.4.1-fpm
COPY install-composer.sh /
RUN apt-get update \
&& apt-get install -y wget git unzip libpq-dev \
★# for gd
★libfreetype6-dev \
★libjpeg62-turbo-dev \
★libpng-dev \
★libwebp-dev \
★libxpm-dev \
&& : 'Install Node.js' \
&& curl -sL https://deb.nodesource.com/setup_12.x | bash - \
&& apt-get install -y nodejs \
&& : 'Install PHP Extensions' \
★&& docker-php-ext-install -j$(nproc) pdo_pgsql iconv\
★ && docker-php-ext-configure gd --with-freetype=/usr/include/ --with-jpeg=/usr/include/ \
★ && docker-php-ext-install -j$(nproc) gd \
&& : 'Install Composer' \
&& chmod 755 /install-composer.sh \
&& /install-composer.sh \
&& mv composer.phar /usr/local/bin/composer
WORKDIR /var/www/html/vuesplash
---------------
上記更新後に
docker-compose up --build -d
でコンテナを再ビルドして、テストを再実行したところエラーが消えました!
参考サイト
https://www.nyamucoro.com/entry/2018/10/29/232724
https://tanaken.me/web/770/
https://qiita.com/qvtec/items/443362e7e4f717c07c79
https://uiuifree.com/blog/develop/docker-gd-php-7/
調べてみると、PHPにGDのライブラリを入れていない場合に発生するエラーのよう。
とりあえず、DockerfileのPHPの箇所に以下のようにGDを追加。(GDを入れる際にはいくつか他のライブラリを入れる必要があるっぽい)
★マークが追加した箇所で、一番気をつけないといけないのは、以下の箇所。
& docker-php-ext-configure gd --with-freetype=/usr/include/ --with-jpeg=/usr/include/ \
PHP7.4から引数の書き方が変わっている模様
PHP7.3以前は以下のように書くみたいです。
--with-freetype-dirとなっていてPHP7,4では-dirが削除されています(jpegも同様)
&& docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
----- 参考Dockerfileの中身
FROM php:7.4.1-fpm
COPY install-composer.sh /
RUN apt-get update \
&& apt-get install -y wget git unzip libpq-dev \
★# for gd
★libfreetype6-dev \
★libjpeg62-turbo-dev \
★libpng-dev \
★libwebp-dev \
★libxpm-dev \
&& : 'Install Node.js' \
&& curl -sL https://deb.nodesource.com/setup_12.x | bash - \
&& apt-get install -y nodejs \
&& : 'Install PHP Extensions' \
★&& docker-php-ext-install -j$(nproc) pdo_pgsql iconv\
★ && docker-php-ext-configure gd --with-freetype=/usr/include/ --with-jpeg=/usr/include/ \
★ && docker-php-ext-install -j$(nproc) gd \
&& : 'Install Composer' \
&& chmod 755 /install-composer.sh \
&& /install-composer.sh \
&& mv composer.phar /usr/local/bin/composer
WORKDIR /var/www/html/vuesplash
---------------
上記更新後に
docker-compose up --build -d
でコンテナを再ビルドして、テストを再実行したところエラーが消えました!
参考サイト
https://www.nyamucoro.com/entry/2018/10/29/232724
https://tanaken.me/web/770/
https://qiita.com/qvtec/items/443362e7e4f717c07c79
https://uiuifree.com/blog/develop/docker-gd-php-7/
laravel phpunit実行時に419error
LaravelとVueのアプリケーションにて、下記エラーが発生。
Expected status code 200 but received 419.
├ Failed asserting that 200 is identical to 419
下記コマンド実行後に再度実行すると解決した。
php artisan config:clear
参考URL
https://stackoverflow.com/questions/46325790/phpunit-expected-status-code-200-but-received-419-with-laravel
Expected status code 200 but received 419.
├ Failed asserting that 200 is identical to 419
下記コマンド実行後に再度実行すると解決した。
php artisan config:clear
参考URL
https://stackoverflow.com/questions/46325790/phpunit-expected-status-code-200-but-received-419-with-laravel