PHP 設定ファイルphp.iniが反映されないで困った
もう解決事項なので結論から書いちゃうけど、
php-fpmの再起動が必要だった。困ったちゃんでちゅわねぇ…
確認すべきことをまとめると、下記の通り。次から3も確認するのだ…
1.php.iniの記述が間違っていないこと
2.apacheを再起動したこと systemctl restart httpd
3.php-fpmを再起動したこと systemctl restart php-fpm
ここにたすけられました。ありがとう。。!
Apacheの再起動でphp.iniの設定が反映されなかった時 - suzu6
メモ
php.iniで変更した内容はこれ(アップロード関連で。コマンドでこれを実行)
sed -i -e "s/upload_max_filesize = 2M/upload_max_filesize = 64M/g" /etc/php.ini
sed -i -e "s/post_max_size = 8M/post_max_size = 64M/g" /etc/php.ini
sed -i -e "s/memory_limit = 128M/memory_limit = 256M/g" /etc/php.ini
<?php phpinfo(); ?> して値が変わってるのを確認すること。
datetimepickerのjsファイルが変わってた
日”時”の入力にdatetimepickerを探して導入
さて「.datetimepicker();」! う、、うごかない!! ということがあった。
「uncaught typeerror cannot read property 'parsedate' of null datetimepicker」
とのことでくっそハテナ。
原因はなんだ!と思ったら、読み込むjsファイルが変わっていた。。
2015年くらいの記事を参考にすると、
「jquery.datetimepicker.js」を使うというところを、
「DateTimePicker」 日時の入力も怖くない!jQuery プラグイン | 株式会社アルベ | Arubeh Inc.
2018年くらいの記事では、
「jquery.datetimepicker.full.js」ってことなんだって。
jQuery【 jQuery UI 】時刻まで選択可能な datetimepicker でカレンダーを表示 | プログラマカレッジ
こんな問題も起きている。回答にはやはり、.fullを使うんだよーという内容が。。
なんで変わっちゃったのかしらんけど気を付けよう(´・ω・`)。。
Laravelメモ
■Modelに関して
・あの検索条件まとめるやつって名前なんだっけ⇒スコープ scope
【Laravel】Eloquentのメソッド、プロパティ簡単まとめ - Qiita
・もっと便利なことが知りたい
・論理削除の実装⇒ふつーにfindして->delete()でいける
Laravel5.6, 5.7 論理削除を実装する! | のるぼるのるの
・deleted_atをdelete_flagにする方法は↓。でもめんどいので今回はed_atにしたよ。。
Laravelでデリートフラグを使って論理削除を実現する手順 - Qiita
■Controllerに関して
・Authの理解が追い付かない⇒別記事にまとめ…る(未来形)
Laravel6でAuthログイン機能を作成 - ダークエリア
■Viewに関して
・Formが使えない⇒ファサードが入ってない
【Laravel】Formファサード(laravelcollective/html)をインストールする | ProgramMemo
$ composer require "laravelcollective/html"
Laravel Eloquent whereBetweenにカラム名を使いたかった
Laravelでクエリを作っているとき、whereにbetween書きたかった。
現在時刻 between 開始 and 終了 みたいなことをしたくて。
結論、できなかった。
Illuminate\Database\Query Builder クラスを追ってみると、
引数に指定する値がどうしてもバインドされているので
カラム名は使えない。。
無理やりやるなら、こういう方法もあるらしい。
【Laravel5.7】カラム名でBETWEENしたい - Qiita
でも私的には、こうするくらいならもうwhereRawしたいかなということであきらめ!
もういいや!うん!
Laravel6でAuthログイン機能を作成
この辺を参考に
・基本的なAuthのやり方
・Authを複数実装するやり方
Laravel6でマルチ認証を実装する(UserとAdminの階層を分ける) - Qiita
・Authのrouteやguardが何をしてるかがわかる記事
Laravel5.5 Multi-Auth 分かりやすいフォルダ構成 備忘録 - Qiita
Laravel の Guard(認証) って実際何をやっているのじゃ? - Qiita
コマンドとかは上記に書いてある通り実行していくだけなので、説明は省略。
ここから、Authがどういう作用しているのか個人的にまとめたい。
サーバ構築で勉強になったことメモ
>>前提
・OS: AmazonLinux2 minimum10GBらしい
・開発環境: PHP7/Laravel6/MariaDB10.5/Apache2.4
■AmazonLinux2にMariaDBのインストール
最新の安定版ということなので10.5.4が使いたくて。下記を参考に。
[Amazon WorkSpaces]AmazonLinux2にMariaDB10.3インストール - Qiita
新規で下記ファイルを作成
sudo vi /etc/yum.repos.d/MariaDB.repo
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.5.4/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
んでインストール
sudo yum install MariaDB-server MariaDB-client -y
■Laravel入れるときにずっこけ~のメモリ不足⇒すわっぽんした
メモリ不足でLaravelインストール、composer update失敗 - Qiita
# sudo dd if=/dev/zero of=/swapfile bs=1M count=2048
# sudo chmod 600 /swapfile
# sudo mkswap /swapfile
# sudo swapon /swapfile
# free -m
total used free shared buff/cache available
Mem: 983 69 75 0 838 770
Swap: 2047 0 2047 ←これが増えたらおk
■Laravelで既存のテーブルからModelを作成
・Modelsフォルダ作成
・ここを参考に
Laravel 5.5 既存のデータベースからモデルを一発で逆生成した手順 – oki2a24
$ composer require krlove/eloquent-model-generator --dev
$ php artisan krlove:generate:model Admin --table-name=admin --namespace=App\\Models --output-path=/var/www/html/funya/app/Models
てきなかんじ。
⇒のちに、こんなエラーが。
InvalidArgumentException : Database connection [other-connection] not configured.
at /var/www/html/jamboree/vendor/laravel/framework/src/Illuminate/Database/DatabaseManager.php:152
これ、「config/eloquent_model_generator.php」の「connection」の設定があかんかったらしく。
記事を参考にother-connectionにしちゃったんだけど、mysqlが正しかった。まぁそりゃそうだよね。ここは接続名を書くところっす。
■apache起動してもページが見れなかったとき確認したこと
・各種.confが正しいか
/etc/httpd/conf/httpd.conf またはそこから読み込んでいるconf
/etc/httpd/conf.d の なんとか.conf(vhosts.confとかvirtual.conf など)
・サーバ見れるのか
Windowsコマンドプロンプトで nslookup [ipアドレス]
・ポート80が動いているか
ターミナルコンソールで lsof -i:80
netstat -nap でも可
https://www.softel.co.jp/blogs/linux/archives/53
・AWS側でポート80を開いているか
(管理者に確認)
■開発するための権限設定
・どうしてもテキストエディタで編集したい、viはきびい
⇒WinSCPなどで開いて編集できるようにしたい
⇒ec2-userで触れるようにしなきゃ
・参考にしたとこ
Linuxの基礎知識 - アクセス権まわりについて - Qiita
ファイルやディレクトリのパーミッションを一括で置換したい - Qiita
・ec2-userをapacheグループに追加
usermod -aG GROUPS USER
・ファイル作成時のデフォルト所有グループは、フォルダのグループを継承
# find /var/www/html/funya -type d -exec chmod 2775 {} +
# find /var/www/html/funya -type f -exec chmod 0664 {} +
# umask 0002
※Laravelの場合これもやった
chmod 755 artisan
■WinSCPでファイル編集はできるけどパーミッションだなんだと怒られ
WinSCPで"パーミッション/タイムスタンプの設定中にエラーが発生しました"について調べてみた - Qiita
「WinSCP」で「パーミッション/タイムスタンプの設定中にエラー」「Permission denied」とメッセージが表示される | 情強ツールズ.com
タイムスタンプの変更が、touchなどではなく、
権限変更も伴うコマンド、preserveなどで行われているらしい。
オプション>環境設定>転送
デフォルト>編集>パーミッションエラーを無視する にチェック!
■MariaDBにテストデータを入れようとして文字化けして怒られ
なんかしらんけど勝手に文字化けした上にこっちが起こられる始末~~~~
MySQL Incorrect string value: の解決策 | テクニカルノート
【MySQL】INSERT INTOで「Incorrect string value」エラーが表示された時の解決方法|たのしいWeb
・DBのcharasetをutf8に設定
SHOW VARIABLES LIKE 'character_set%';
vi /etc/my.cnf
[mysqld]
character-set-server=utf8
[client]
default-character-set=utf8
・各テーブルのcharasetをutf8に設定
すでにcreateしたテーブルには下記SQLを実行。
ALTER TABLE table CONVERT TO CHARACTER SET utf8;
ワイの場合はEclipceでER図を作っているので、
そっちのテーブル定義に「CHARACTER SET utf8」を追記してdrop-create。。
・mysqlとapacheを再起動 systemctl restart mysqlとhttpd
■LaravelのEloquentでデータ取得…あれ?!ま~だ文字化けてる
・↑でやったcharasetの設定が生きてるか確認。
・Laravelのcharasetがutf8か確認
config/database.php がそうなってなかったので下記変更
'charset' => 'utf8mb4', ⇒ 'charset' => 'utf8',
'collation' => 'utf8mb4_unicode_ci', ⇒ 'collation' => 'utf8mb4_unicode_ci',
・そもそもDBに入ってる値が文字化けてないか確認
まじで文字化けてたので、Insertしなおし。。
■CentOSで検証環境を作った時、firewalldを触った
Laravelのインストールまでして、ページが見れなかったので、80を開けた
CentOS 7 firewalld よく使うコマンド - Qiita
firewall-cmd --zone=public --add-service=http --permanent
firewall-cmd --reload
CentOSでページは動いた…けど…
■logの書き込みに失敗している?
「The stream or file "/var/www/html/funya/storage/logs/laravel.log" could not be opened」とか怒られた(´・ω・`)
ワイの場合原因はSELinuxだったみたいで。「setenforce 0」したらいけた。
状態確認は「getenforce」で。(Enforcing/Permissive)
■DBのdriverでエラーを起こしている?
「could not find driver」とかまぁた怒られてDB関わるとこ動かん(´・ω・`)
調べたらこんなのが。。
【Laravel】CentOSのLAMP環境でcould not find driver - suzu6
# sudo yum -y install --enablerepo=remi,remi-php74 php-mysqlnd
■動くけどレイアウト崩れが激しい…
画面が白いよう…(´;ω;`) まさにここみたいな状態なので、npm系とわかった。
Laravel6.5 ログイン(login)画面と登録画面(register)画面のレイアウトの崩れを修正 - Qiita
laravelでnpm run devを実行すると「cross-env: not found」というエラーが出る件対応したった - Qiita
・上記を参考にコマンドを打つ。再インストールされてるだけだとおもうけど。。
npm run watch
npm install webpack
npm install
・また、「npm install」した際に「run~」と出てくるコマンドを実行
npm fund(37 packages are~~run `npm fund` for details と出ていた)
npm audit fix(found 1 low severity~~run `npm audit fix` to fix… と出ていた)
もしかしたらfundは関係ないかもだけど、auditは更新系なので重要。
■Cent検証環境にPCのエクスプローラでアクセスできるようにSambaを入れる
・ユーザ追加
useradd smbuser
passwd smbuser
・インストール
yum install samba samba3-winbind samba3-utils
smbd -V
smbpasswd -a smbuser
・SELinux無効化
setenforce 0
getenforce
・Samba設定ファイル修正
vi /etc/samba/smb.conf
※[homes] に追加
path = /var/www/html/funya/
・ファイアウォール設定
firewall-cmd --zone=public --add-service=samba --permanent
firewall-cmd --reload
・Samba再起動
systemctl restart smb
systemctl status smb
⇒\\192.168.xx.xxにアクセスすると、pathに指定したフォルダがみれる!
PCのキーボードのキー位置を変える
新しいPCにしたんですが、中華PCなので…
キー位置がちがいました・・・困った。。
そこで、キー位置を変えるにはどうしたらいいか、調べました。
設定>時刻と言語>言語 の
「日本語」をクリックすると出てくる「オプション」をクリックして開く
「キーボードレイアウト:日本語キーボード(106/109キー)」に設定すると、
いつも使い慣れているキー配置になります。
続きを読む