Laravel5 + Voyager1.3 でなんかエラー出た

PHP7.1のサーバで独自CMSの仮組みを作ることになったので、とりまLaravel + Voyagerで作ろうとしたところ

Voyager can’t find app.css, app.js, and images #3994
https://github.com/the-control-group/voyager/issues/3994

と全く同じ問題が発生。
どうも、https://*****.***/admin/voyager-assets?path=**** でエラーが発生している模様。

PHP7.1から動かせないので、Laravelのバージョンを5にせざるを得ずに、Laravel5だからVoyagerもバージョン1.3でないと動かないと公式に書かれているので、各々のバージョンはあってるはず。

今ならLaravel8とかVoyagerも1.4とか最新版にすればこういうバグは解消されてるんでしょうけども、あいにくサーバ環境は変更できず。

ということでVoyagerのソースを見つつ、解決策模索。

で調べた結果、GETパラメータが上手く渡せずにファイルの確認処理でエラーが発生しているという感じ。

なので、こんな感じで直接GETパラメータを渡してやれば解決しました。

./vendor/tcg/voyager/src/Http/Controllers/VoyagerController.php の76行目付近


public function assets(Request $request)
{
- $path = Str::start(str_replace(['../', './'], '', urldecode($request->requestUri)),"/");
+ $path = Str::start(str_replace(['../', './'], '', urldecode($_GET["path"])),"/");
~~~~~

もしかするとnginxの方でlocationの設定とかしてやればよかったのかもしれないけど、とりあえず動くからこれでいいかと思う次第。

ネットで検索しても解決策が出てこなかったし、いつかまた同じようなことが起こったときの為の備忘録なう。

数年ぶりいじるソースは、やっぱりややこしい(´ヘ`;)

数年前に作ったPHPのDB不要の掲示板スクリプトで最近不具合報告きてたので修正したったったwww

という次第でございます。

触るの数年ぶりすぎて、内容ややこしいんよ・・・(´・ω・` )

ついでにGitHubにもアップしました。https://github.com/rutti/ramibbs/

リダイレクト元のリファラを消す方法メモ

PHPでリダイレクトをする時にリファラを残したくない場合 « for WEB屋
http://www.4web8.com/1266.html

が参考になりました。

上記URLからの引用ですが、
header("Refresh: 0;url=飛ばし先");とすればリダイレクトを実行するURLをリファラにすることができるそうで。

ブラウザ別の確認はしてませんがとりあえずChromeでは確認できました(`・ω・´)

アクセストレードに注力したいメディア系サイトなんかで使えそう。

php5.2でphp-mcrypt追加できなかったのでメモ

解決法が下記サイト記事に載ってたので後で見返せるようにそのままメモメモ。

php5.2.17のphp-mcryptを追加。これでMagentoのインストールが進む。|本当のWEBマーケティングを学ぶために。もっと視野を広く!確固たる自分を!
http://ameblo.jp/chamasd/entry-11166702057.html

こちらの環境で言えば、

#php5.2用のmcryptをインストール

yum install --enablerepo=utterramblings php-mcrypt-5.2.17*

#アパッチ再起動

/etc/rc.d/init.d/httpd restart
の2点だけでOKでした。

yum install php-mcrypt」だけだったら「php-mcrypt5.1.*がインストール済み」ってなってしまうのでyumコマンド上では問題無く見えてしまうところがネックなんですね。

そのせいで、ずっと

Fatal error: Call to undefined function: mcrypt_get_iv_size()

って出てしまってたんよ(´・ω・` )

QRコード作成

このQRコードにはたいして意味は無いです

PEARでQRコードを作れるライブラリ「Image_QRCode」というのがあると最近知ったので試しにインストールしてみて、QRコード作成ページ作ってみたったったった。

オンラインでQRコード作成
http://qr.rutti.net/

以下、Image_QRCodeの公式サイトと解説サイトです(´・ω・` )

Image_QRCode
http://pear.php.net/package/Image_QRCode/

PHP: pear:packages:image_qrcode [PHP Wiki]
https://wiki.php.net/pear/packages/image_qrcode