このたびXAMPPではなくVagrant+VirtualBoxで開発環境を作ってみました。
一通り動かしてみたら、Laravel-Excelを使ったプログラムが真っ白に。
エラーメッセージは、白い画面の真ん中にERR_INVALID_RESPONSEと書いてある。
ネットで調べたところタイムアウトだとか、PHPのバージョンだとか書いてあったので調べてみた。
確かにLaravel-Excelのサイトにはバージョンの指定はある。
もともと動いているLaravelのバージョンは5.6で、PHPのバージョンは7.2でした。
すでに上の表に照らし合わせてみても適合しないのですが普通に動いています。
今回PHPは7.3を入れたのですが、それがダメなのかなと思って7.2に入れ直してみたのですが結果は同じ。
こうなってくると意味がわからない。
もともとエラーメッセージをろくすっぽ見ない人間だけど、まったくノーヒントだとさすがに困る。
結局解決したんだけどね。
動いている環境と比較して見つけたのがこれ。
- php-xml
- php-pecl-zip
これが抜けていた。
上記をインストールして、仮想サーバの再起動(httpdサーバの再起動)したらダウンロードできるようになった。
一応必要としたものを一覧にすると
- php
- php–mbstring
- php–odbc
- php–pdo
- php–mysqlnd
- php–xml
- php–pecl–zip
かな。
動いていた環境には下記も入っていたけど、これはなくても動いた。
- php–devel
- php–gd
ちなみにインストール方法は
sudo yum install -y php-xml php-pecl-zip もしくは sudo yum install -y --enablerepo=remi,remi-php73 php-xml php-pecl-zip
でいいと思う。知らんけど。
結局PHPは7.3でも動きました。一旦7.2に落としましたが、再度7.3を入れ直しても大丈夫でした。
ちなみに7.3から7.2に落とす方法は、
入っているPHP一式を以下で確認しておいて
$ yum list installed | grep php
入っているPHPを以下で全てアンインストールして
$ sudo yum remove php php-*
yum listで確認したPHP全てを入れ直すだけ。
sudo yum install -y --enablerepo=remi,remi-php73 httpd php php-mbstring php-odbc php-pdo php-mysqlnd php-xml php-pecl-zip
コメント