ajaxのレスポンスヘッダを確認する
セキュリティ診断等で、自分のプログラムの妥当性を見るためにヘッダを確認する事が多々ある。
どうだっけ?ってなるので書いとく。
success: function(data, return, ajxhead){ var res_data = ajxhead.getAllResponseHeaders(); }
コンソールからres_dataをウォッチすると中身が確認出来る。
LaravelでDB設定を入れても反映されない対処
環境構築をしていて、LaravelをインストールしてからDB設定を記述して
$results = DB::select('select * from test_table');
と、接続テストをすると
PDOException
SQLSTATE[HY000] [1045] Access denied for user 'homestead'@'localhost' (using password: YES)
と表示されてしまいDBと疎通確認が取れない。
/config/database.phpには利用するDBの情報は入っているがユーザ名が homestead@localhost
となっている部分が問題。これはLaravel側が持っている.envファイルを優先して読みから出てしまっている。
サーバーから
$cd /Laravelがインストールされているディレクトリ/ $php artisan config:cache
キャッシュの再構築をしたら正しく接続出来た。
初期構築でコピペする。
Laravel5.4にて現在ルーティングされている一覧を確認する
大半は/routes/web.phpに記載されているがコマンドラインから
$ cd /laravelがインストールされているディレクトリ/ $ php artisan route:list +--------+-----------+-------------------+---------+-------------------------------------------------+--------------+ | Domain | Method | URI | Name | Action | Middleware | +--------+-----------+-------------------+---------+-------------------------------------------------+--------------+ | | GET|HEAD | / | | Closure | web | | | GET|HEAD | api/user | | Closure | api,auth:api | | | GET|HEAD | hoge | | Closure | web | | | GET|HEAD | fuga | index | App\Http\Controllers\FugaController@index | web | | | POST | fuga | store | App\Http\Controllers\FugaController@store | web | | | GET|HEAD | fuga/create | create | App\Http\Controllers\FugaController@create | web | | | GET|HEAD | fuga/{} | show | App\Http\Controllers\FugaController@show | web | | | PUT|PATCH | fuga/{} | update | App\Http\Controllers\FugaController@update | web | | | DELETE | fuga/{} | destroy | App\Http\Controllers\FugaController@destroy | web | | | GET|HEAD | fuga/{}/edit | edit | App\Http\Controllers\FugaController@edit | web | +--------+-----------+-------------------+---------+-------------------------------------------------+--------------+
こんな感じで返ってくる。
EC-CUBE3の値引き(某大手ペイメント対応)もする
前の記事
rider-dice.hatenablog.com
でも触れた値引き、でもこれってEC-CUBE単体の値引きにしかなってなくって某大手のペイメント会社さんを通すと
購入金額のまま送られてしまっている。つまり自分の書いたコードだとコード足らずだったので調査。
今回調査したのは、EC-CUBE純正のクーポンプラグイン。
これを使った場合、ペイメントに登録されるデータも値引きされた金額になっている。
と言う訳でソースコードを確認。
#346行目
$this->setCouponOrder($Order, $Coupon, $formCouponCd, $Customer, $discount, $app);
ここでオーダーの再受注をしている。
んで、setCouponOrderのロジックを見ると
$total = $Order->getTotal() - $discount; $Order->setDiscount($Order->getDiscount() + $discount); $Order->setTotal($total); $Order->setPaymentTotal($total); $app['orm.em']->persist($Order); $app['orm.em']->flush($Order);
受注を更新する為にflushしているのと、setPaymentTotalに合計金額を入れている。
ここが抜けていた為に、DB上と表示上は金額が変更出来ているがペイメント会社さんには割引額が伝わっていなかった。
このままコピっとけば汎用性があるのでメモ。
Lavavel5.4にした際にインストールにハマる
元々EC-CUBE用に構築したCentOS6.9で、phpは5.6.3が入っていた事もあるがLaravel5.4にアップデートすると
PHPのバージョンを7にしてください。ってな事でcomposer updateすると怒られる。
とりあえず、remiが入っている状態で以下のインストールを実行
$ yum -y install --enablerepo=remi,remi-php70 php php-fpm php-devel php-pecl-xdebug php-mbstring php-mcrypt php-openssl php-mysqlnd php-xml sendmail php-gd php-pear php-xml php-mysql
基本よくばりセットをインストール。
これでcomposer updateをすると問題無くアップデート自体は出来た。
って事で、インストールしてみる
$ laravel new hogehoge
ここでエラー。どうやらzipがインストールされていない。とのエラー文言が出る。
pecl install zip をしてもエラーでインストールが出来ない。
php7に変更した際に消えてしまったと見える。
yum --enablerepo=remi,remi-php70 install php-pecl-zip
と言う訳で、pecl-zipを入れて再度インストール実行
$ laravel new hogehoge
無事hogehogeが出来た。
インストールする際には
$ yum -y install --enablerepo=remi,remi-php70 php php-fpm php-devel php-pecl-xdebug php-mbstring php-mcrypt php-openssl php-mysqlnd php-xml sendmail php-gd php-pear php-xml php-mysql php-pecl-zip
よくばりセット2としてコピペ出来るようにしておく。
CentOS6でlaravelのインストールパスを通す
laravelのリファレンスを観ていて
laravel new hoge
とコマンドを通すも、コマンドが通ってない。と言われて怒られる。
.bash_profileにパスを通さなければならない。
$echo 'export PATH="$HOME/.composer/vendor/bin:$PATH"' >> ~/.bash_profile
$source ~/.bash_profile
かならずパスを通して反映しておく。毎回リファレンス観てあれ?なんでだろ。と思うのでコピペ出来るようにしておく。