底辺SE奮闘記

年収300万SEブログ

PHP

【Laravel】メールを送信すると、Declaration of Egulias\EmailValidator\Validation\MessageIDValidation::isValid ~というエラーになる。

環境 Laravel 6 PHP 7.2.3 現象 メールを送信すると500エラー 正確なエラー文章 Declaration of Egulias\EmailValidator\Validation\MessageIDValidation::isValid(string $email, Egulias\EmailValidator\EmailLexer $emailLexer): bool must be compatible…

【Stripe・Laravel Cashier】newSubscription時に You cannot set the quantity for metered plans. で困った

現象 表題の通り。Stripeのテスト中に、 You cannot set the quantity for metered plans. というよくわからないエラーが出る。 解法 バージョンによっておそらく解法が異なる。両方試すと良い。 解法1 数量を0に指定する。 newSubscription("default", "pri…

【Stripe・Laravel Cashier】Attempt to read property "default_payment_method" on null で困った

現象 表題の通り。Stripeのテスト中に、 Attempt to read property "default_payment_method" on null というよくわからないエラーが出る。 解法 下記を確認 Billableモデル(\App\Models\Userなど)に対応するユーザがStripe上に存在しているか。 Billable…

【phpunit】dataProvider内のタイムゾーンがUTCな件

PHP

えらい目にあったので共有。 現象 タイムゾーンをAsia/Tokyoに設定しているのに、UTCで内部処理されている(今回の場合はCarbon) 環境 Larvel ^8.75 時刻設定 日本対応済 phpunit 9.5.19 問題のあるテストコード 下記のようなテストコードでテストを行ってい…

【CPI・Python】ACEプラン Pythonについて

インストール場所 /usr/local/bin/python ※SSHログインではみえない。実行もできない。 バージョン 2.7 3系は利用できない。萎え。 実行方法 1 PHP上で動かすと簡単。 以下一例。

【Stripe】Cannot create the usage record with this timestamp because timestamps must be after the subscription's last invoice period (or current period start time). に対応する

タイトルの通り、使用量をStripeに登録しようとすると下記のようなエラーが発生。 Cannot create the usage record with this timestamp because timestamps must be after the subscription's last invoice period (or current period start time). 原因は…

【AWS EC2】重い時(最悪タイムアウト)に確認するところ

AWSでウェブサーバを組んでる際に発生し得る重い/タイムアウトの改善について、随時まとめます。 改善方法は主に下記の二種類に分けることができるかと思います スペック系 設定系 スペック系は費用に直結するので、要財布と相談。 設定系は、処理を速くする…

【Stripe・Laravel Cashier】Stripe\Exception\InvalidRequestException: You cannot set the quantity for metered plans. エラー対処

現象 サブスクリプションプラン購入の下記コードで表題のエラー $_user->newSubscription("main", $_planId) ->create($_paymentMethod); 環境 Laravel 5.8 Laravel Cashier 10.0 解法 数量を0とする $_user->newSubscription("main", $_planId) ->quantity(…

【PHP・Laravel・Stripe】WebHookのシグネチャをSDKなしで確認する

表題の通りです。 環境 PHP 7.2.1 Laravel 5.8 コード 最小のソースコードを示しますので、ご自分の環境にあった形に修正を行ってください。 getCon…

【PHP・meyfa/php-svg】imagettftext(): any2eucjp(): invalid code in input string というエラーが出る

meyfa/php-svg 便利ですよね github.com 今日もこれの話題です。 現象 サーバによっては、 imagettftext(): any2eucjp(): invalid code in input string というエラーが出る場合があります。 全角スペースなどの一部特殊文字を描画しようとすると発生する様…

【Laravel】一致バリデーションequalを作る

ごく稀に使いたくなるので、用意します。 環境 Laravel 5.4 PHP 5.6.9 実装 AppServiceProvider.phpに下記を記載します

【PHP・Laravel】barryvdh/laravel-dompdf で余白をコントロールする

github.com なぜか日本語でググっても一発目に出てこなかったので、 最近のgoogleさんなんですぐ「余白」なんてことしよるんや。 余白に関しては下記のように設定します。 @page { margin: 0px; } 以上。

【Laravel】artisan migrateでPDOException::("SQLSTATE[42000]: Syntax error or access violation: 1059 Identifier name '~' is too long")

migrationファイルで unique([ 'hoehoge', 'fugafuga', 'piyopiyo' ]); //中略 のようにして、 PDOException::("SQLSTATE[42000]: Syntax error or access violation: 1059 Identifier name '~' is too long") というエラーに悩まされる場合、あると思います…

【PHP・meyfa/php-svg】SVGLineのラスタライズメソッドrasterizeを点線 stroke-dasharray対応させる

github.com オリジナルのmeyfa/php-svgのSVGLineクラスは点線を描画させるstroke-dasharrayに対応していない。 ので、自作。

【PHP】emptyと数値のうっかりしやすい関係

empty関数に関して認識違いを起こしていたので備忘録。 true empty(0.0) // ==> true empty("0") // ==> true empty("0.0") // ==> false <==!!!!! この動きを失念しておりました。 お粗末様でした。

【meyfa/php-svg】Pathのラスタライズのバグについて

結論を先に書けば、 「パス中の円弧のプロパティ SweepFlagが0の場合は、meyfa/php-svgは正常に動作しない」 となります。 現象 2019/07/02現在、meyfa/php-svgのパスにはバグが存在しています。 MDNによれば、 developer.mozilla.org 下記のSVGは、 <svg width="325px" height="325px" version="1.1" xmlns="http://www.w3.org/2000/svg"> </svg>

【PHP】SVG(with text) convert to PNG and save by "meyfa/php-svg"

Postscript I wrote an article about "meyfa/php-svg" in detail. uma-no-kawa.hateblo.jp Environment PHP 7.1.17 meyfa/php 0.90 github.com How to introduce "meyfa/php-svg" Introduce with the composer. composer require meyfa/php-svg If you will…

【PHP】PHPの不思議な挙動について array_pushとnull

不思議な挙動を見たのでここに 環境 PHP 7.1.17 現象 case 1 まずは普通に string(1) "a" } 問題ないと思います。 case 2 続いて、

【PHP】AOSSMSでショートメッセージ SMSを送信する

AOSSMSを利用してSMSを送信します。 www.aixmsg.com 1. 無料トライアルを申し込む 上記HPの「無料トライアル」ボタンを押して無料トライアル申し込みを行う。 翌日ぐらいに電話がかかってくるので応対する。使用用途などを伝える。 その後、メールでログイン…

【PHP】ビルトインサーバではどうあがいてもexecが非同期にならない件

ビルトインサーバ 便利ですよね php -S 0.0.0.0:8080 -t . こんな感じでよく使うと思います。 でもこのサーバ内で、下記のようなコードを書いても非同期にならないのです。悲しいですね。 /dev/null 2>&1 < /dev/null &");

【PHP】meyfa/php-svg のススメ

PHP

PHPでSVGを取り扱う際に便利なライブラリ「meyfa/php-svg」のご紹介です。 順次追記します 環境 インストール 使用方法 オブジェクト生成 ノードの追加 基本 直線 四角 矩形 テキスト 画像 SVG文字列の出力 ラスタライズ 円のアンチエイリアス その他仕様 tr…

【PHP】meyfa/php-svgでSVGをPNGにして保存する(テキスト付き)

PHP

追記 ↓でもう少し詳し目の記事を描きました。 uma-no-kawa.hateblo.jp 環境 PHP 7.1.17 meyfa/php 0.90 github.com meyfa/phpの導入 composerで導入します。 composer require meyfa/php-svg テキストを使用する場合は、gd以外にも --with-freetype-dir=/usr…

【Laravel・PHP・うっかり】FileのMax Validateionがうまく動かない件

当たり前なのですが、php.iniなどに post_max_size = 8M などと設定されているのに、 validate($request, [ "file" => "required|file|max:8000" ]); などと最大サイズを指定しても、validation.phpの [ //.... 'file' => 'The :attribute may not be great…

【PHP・Laravel5】リダイレクトにエラーメッセージを付記したい

自分用のメモに 環境 Laravel 5.4.* PHP 5.6.9 実装 route("[ルート名]") ->withErrors([ "msg" => "エラーメッセージ" ]);

【Laravel・Vue.js】php artisan serve --host 0.0.0.0と初期状態のnpm run hotが両立しない件

環境 Laravel 5.7 現象 iOSでの見え方を確認するため php artisan serve --host 0.0.0.0 を実行。更新をすぐに確認したいので npm run hot を実行していた。(実際はyarnだった) 上記の状態でiOS(外部デバイス)からアクセスすると、 画面が真っ白。 色々調…

【Slim3・mPDF】PDFを表示しようとしたら画面が大変なことになった件

PHP

現象 大変なことになった 解法 get('/pdf', function (Request $request, Response $response) { $mpdf = new Mpdf(); $mpdf->WriteHTML("<h1>Hello World</h1>"); $mpdf->Output(); //↓これが重要 return $response->withHeader('Content-Type', 'application/pdf');…

【PHP】CPIサーバでImageMagickを動かすときに大変だった件

サポートに問い合わせしたところ、 シェアードZZプランではPHP5.3.29でしかImageMagickが利用できない。 とのこと。 なので、.htaccessに AddHandler x-httpd-php5329 .php これが必要ということですね。 これはつまり、 Laravelが使えない ということです。…

【PHP5.6・Laravel5.4】バリデーション min, sizeが正常に動かない!って時に

環境 PHP 5.6 Laravel 5.4 現象 下記コードはうまく動きません。いつでもバリデーションをパスします。 $testNo //何かしらの数値変数 ]; $rule = [ "testNo" => "min:1" ]; $message = [ "testNo.min" => "Min Error." ]; Validator::make($input, $rule, …

【PHP7・Laravel5.5】Mail::toが正常に動作しない!仕様を勘違いしていた話

下記コードがhogehoge@test.comに届かずfugafuga@test.comに届いてしまう問題に遭遇。 原因はLaravelのメールの設定の挙動を勘違いしていたこと。 send($mailInstance); 環境 PHP 7.1.21 laravel/framework 5.5 原因 config/mail.phpの65行目付近に下記のよ…

【PHP・Stripe】顧客情報を変更しようとするとエラーになる【うっかり】

うっかりが多いので、うっかりをカテゴライズしました。 環境 PHP 5.6.38 stripe/stripe-php 6.21.0 ソース 下記ソースは \Stripe\Error\InvalidRequest が発生します。 email = "test@testcom"; $cu->save(); 理由は簡単。 メール文字列がメールフォーマッ…