composerについて

基本だけど一応メモメモ

・composer require
パッケージを追加するときに使用
composer.json も更新される
開発環境で実行

・composer update
composer.json に記載されているパッケージを最新バージョンにアップデート
composer.lock も更新される
開発環境で実行

・composer install
composer.json に記載されているパッケージを、
composer.lock に記載されているバージョンでインストール

composer.json とcomposer.lock さえあれば
どこの環境でも同じパッケージが入れられる
すばらしいw

【Laravel】Gmail のSMTPを利用してメール送付

なんとなくやる機会があったので
いちおう忘れないようにメモメモ

まずは composer で phpmailer をインストール

https://github.com/PHPMailer/PHPMailer

あとはこんな感じ

【MySQL】レコード有無を確認せずにINSERTしたい

大量データをINSERTするため、
いちいちレコードの存在確認したくない

・存在しなかったらINSERT、したらスルー

・存在しなかったらINSERT、したらUPDATE

【Laravel】mysqlのCSVインポートでエラー

Laravelで、mysqlにCSVファイルをインポートしようとしたら
エラーになったので、そのときの対応をメモメモ

CSVの読み込みはこんな感じ

そうすると
こんなエラーや
string(420) “SQLSTATE[HY000]: General error: 2014 Cannot execute queries while other unbuffered queries are active. Consider using PDOStatement::fetchAll(). Alternatively, if your code is only ever going to run against mysql, you may enable query buffering by setting the PDO::MYSQL_ATTR_USE_BUFFERED_QUERY attribute.

こんなエラーで怒られる、、、
PDO::exec(): LOAD DATA LOCAL INFILE forbidden

コンソール画面から直接SQLを実行するといけるのに

config/database.php に
下記2行を追加してあげたらうまくいった
PDO::ATTR_EMULATE_PREPARES => true,
PDO::MYSQL_ATTR_LOCAL_INFILE => true,

liタグを横並びにして区切り線を引く

簡単にできるけど
覚えられないのでメモメモ

【PHP】ディレクトリ配下の全てのファイルリストを取得

PHPでディレクトリを掘り下げていって
配下にある全てのファイルを取得したかったのでメモメモ
glob関数は楽だな~

【MySQL】csvのインポート、エクスポート

csvにエクスポートやインポートするときの
方法をメモメモ

まずはエクスポート
tableNameとかは適当に書き換えて

権限で怒られたら

続いてインポート

【MySQL】パーティションの作成、追加、削除、確認

MySQL のパーティションの作成、追加、確認についてメモメモ

・作成
ALTER TABLE tableName PARTITION BY RANGE (TO_DAYS(updateDate)) (
PARTITION p20190831 VALUES LESS THAN (TO_DAYS(‘2019-09-01 00:00:00’)),
PARTITION p20190901 VALUES LESS THAN (TO_DAYS(‘2019-09-02 00:00:00’)),
PARTITION p20190902 VALUES LESS THAN (TO_DAYS(‘2019-09-03 00:00:00’))
);

・追加
ALTER TABLE tableName ADD PARTITION (
PARTITION p20191123 VALUES LESS THAN (TO_DAYS(‘2019-11-24 00:00:00’)),
PARTITION p20191124 VALUES LESS THAN (TO_DAYS(‘2019-11-25 00:00:00’))
);

・削除
ALTER TABLE tableName DROP PARTITION p20191124;

・確認
SELECT TABLE_SCHEMA, TABLE_NAME, PARTITION_NAME, PARTITION_ORDINAL_POSITION, TABLE_ROWS
FROM INFORMATION_SCHEMA.PARTITIONS
WHERE TABLE_NAME = tableName;

【Laravel】新規作成時のパーミッション設定

Laravelで新規にサイト作ろうとすると
パーミッションで怒られるはず、、、

やり方は、いくつかあるけど
この方法が自分好みなので、メモメモ

おおざっぱな手順
 ・[laravel] グループを新規に作成して
 ・[apache] など必要なユーザを [laravel] グループに追加する
 ・[storage] 配下 の所有グループを [laravel] に変更
 ・新規で作成されるファイルのパーミッションを指定

以上!