- 0.1. Amazon Linux 2 + nginx + php-fpm + PostgreSQL10
- 0.2. Laravel Mixでwebpackを簡単に利用する」ってどういうこと?
- 0.3. Laravel の Guard(認証) って実際何をやっているのじゃ?
- 0.4. Laravel モデルファイル作成
- 0.5. ComposerでLaravelの開発環境を構築しよう
- 0.6. [Laravel]シーディングができなかった原因
- 0.7. CentOS 8にPHP 7.4, PHP-FPM 7.4をインストール(Remi’s RPM repository)
- 0.8. CentOS 7にPHP-FPM 7.4をインストール(Remi’s RPM repository)
- 0.9. CentOS 7にPHP 7.4をインストール(Remi’s RPM repository)
- 0.10. LaravelのHerokuへのデプロイ、DBはMySQL。
- 0.11. 【Laravel5.8】PHP7.4でTrying to access array offset on valueが山盛り出るようになった
- 0.12. PHP関連パッケージのアップデート後にセッション処理でエラーになったときの回避策
- 1. はじめに
- 2. エラー出力の内容
- 3. 回避策
- 4. はじめに
- 5. おみくじプログラムの中身
- 6. 以下使用している関数など
Amazon Linux 2 + nginx + php-fpm + PostgreSQL10
# nginx
### インストール
`# sudo amazon-linux-extras install nginx1.12 -y`
`# nginx -v`### 起動と自動起動
`# sudo systemctl start nginx.service`
`# sudo systemctl enable nginx.service`# PostgreSQL10
### インストール
`# amazon-linux-extras install postgresql10`
`# sudo yum install postgresql-server postgresql-libs postgresql-contrib -y`
この順でインストールするとpostgresql-serverもバージョン10が入る### 初期化
`initdb -U postgres –local=ja_JP.UTF-8 -E UTF-8 -D /var/lib/pgsql/data`# php-fpm
### インストール
`# sudo amazon-linux-extras i
Laravel Mixでwebpackを簡単に利用する」ってどういうこと?
#はじめに
業務上活用しているLaravel Mixにてコンパイル関連で色々と模索していおり、
今更ですがLaravel Mixについて整理したことを備忘録としてまとめました。まず、Laravel Mix公式を見てみると
以下公式サイトhttps://readouble.com/laravel/5.5/ja/mix.htmlより引用
~
Laravel Mixは多くの一般的なCSSとJavaScriptのプリプロセッサを使用し、Laravelアプリケーションために、構築過程をWebpackでスラスラと定義できるAPIを提供しています。シンプルなメソッドチェーンを使用しているため、アセットパイプラインを流暢に定義できます。例を見てください。mix.js(‘resources/assets/js/app.js’, ‘public/js’)
.sass(‘resources/assets/sass/app.scss’, ‘public/css’);Webpackやアセットのコンパイルを始めようとして、混乱と圧倒を感じているならLaravel Mixを気に入ってもらえるで
Laravel の Guard(認証) って実際何をやっているのじゃ?
認証周りが絡む特殊な実装をしようとしたときに、色々と調べてみたのでせっかくだしまとめます☺️
Guard の使い方等は 「認証」ドキュメントをご参考ください。
[Laravel 5.8 認証]
(https://readouble.com/laravel/5.8/ja/authentication.html)# Guardってどうやって使うんだったっけ?(おさらい)
“`config/auth.php
‘guards’ => [
‘guard-name’ => [
‘driver’ => ‘session’,
‘provider’ => ‘users’,
],
],
“`こんな風に `guards` 設定しておいて、
“`route/web.php
Route::get(‘profile’, function() {
})->middleware(‘auth:guard-name’);
“`ルートで middleware を呼ぶと、指定した Guard で **認証
Laravel モデルファイル作成
[マイグレーションファイルの作成](https://qiita.com/ken85shin/items/2ea4ba8536669b7820c5)後に、モデルファイルを作成する手順。
##Modelとは
Laravelにおいて、データベースを操作する為の実行ファイル。データベースに関連づけて作成する。###artisanコマンドでモデルを作成
“`terminal
$ php artisan make:model モデル名
“`
Laravelには命名規則があり、テーブル名(複数系)とモデル名(単数系)とする必要がある。| 項目 | 名前 |
|:—————–|——————:|
| テーブル名 | users |
| モデル名 | User |このルールを守る事で、自動的にデータベースとモデル(実行ファイル)が紐づいてくれる。
###実行結果
“`php
ComposerでLaravelの開発環境を構築しよう
# Laravelとは
Laravelは、MVCのWebアプリケーション開発用の無料・オープンソースのPHPで書かれたWebアプリケーションフレームワークです。webフレームワークを使うことでwebサービスの開発スピードが上がったり、セキュリティの安全性を担保できます。日本では、様々な企業で使われています。
引用: [ウィキペディア](https://ja.wikipedia.org/wiki/Laravel)
公式ページ: http://laravel.jp/# Composerとは
composerはPHPのパッケージ管理システムです。
https://getcomposer.org/
[Laravel]シーディングができなかった原因UserTableSeederとFoldersTableSeederの二つをシーディングしたかったのだがうまくいかない
“`php:UserTableSeeder
class UsersTableSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
DB::table(“users”)->insert([
“name” => “test”,
‘email’ => ‘dummy@email.com’,
‘password’ => bcrypt(‘test1234’),
‘created_at’ => Carbon::now(),
‘updated_at’ => Carbon::now(),
]);
}
}
“`“`php:Folder
CentOS 8にPHP 7.4, PHP-FPM 7.4をインストール(Remi’s RPM repository)
# はじめに
Remi’s RPM repositoryを利用してCentOS8にPHP7.4をインストール
親記事:[PHP, PHP-FPMの各種インストール方法とEOLまとめ](https://qiita.com/witchcraze/items/dfe3823554b7caba6f6a)
参考:[Remi’s RPM repository](https://rpms.remirepo.net/wizard/)## サポート
本手法で導入した場合、[PHP: Supported Versions] (https://www.php.net/supported-versions.php)/[PHP: Unsupported Branches](https://www.php.net/eol.php)より、2022-11-28がEOLになると思われる。
それ以降に報告された脆弱性や不具合への対応は実施されない可能性がある。## note
– 他のPHPモジュールを入れていた場合、下記コマンドでモジュールのリセットが必要
“`shell-session
# dnf m
CentOS 7にPHP-FPM 7.4をインストール(Remi’s RPM repository)
# はじめに
Remi’s RPM repositoryを利用してCentOS7にPHP-FPM7.4をインストール
親記事:[PHP, PHP-FPMの各種インストール方法とEOLまとめ](https://qiita.com/witchcraze/items/dfe3823554b7caba6f6a)
参考:[Remi’s RPM repository](https://rpms.remirepo.net/wizard/)## サポート
本手法で導入した場合、[PHP: Supported Versions] (https://www.php.net/supported-versions.php)/[PHP: Unsupported Branches](https://www.php.net/eol.php)より、2022-11-28がEOLになると思われる。
それ以降に報告された脆弱性や不具合への対応は実施されない可能性がある。## note
– インストール後の更新は`yum –enablerepo=remi-php74 update`
## LOG
###
CentOS 7にPHP 7.4をインストール(Remi’s RPM repository)
# はじめに
Remi’s RPM repositoryを利用してCentOS7にPHP7.4をインストール
親記事:[PHP, PHP-FPMの各種インストール方法とEOLまとめ](https://qiita.com/witchcraze/items/dfe3823554b7caba6f6a)
参考:[Remi’s RPM repository](https://rpms.remirepo.net/wizard/)## サポート
本手法で導入した場合、[PHP: Supported Versions] (https://www.php.net/supported-versions.php)/[PHP: Unsupported Branches](https://www.php.net/eol.php)より、2022-11-28がEOLになると思われる。
それ以降に報告された脆弱性や不具合への対応は実施されない可能性がある。## note
– インストール後の更新は `yum –enablerepo=remi-php74 update`
## LOG
### インス
LaravelのHerokuへのデプロイ、DBはMySQL。
##データベースにMYSQLを使う
HerokuではデータベースとしてPostgreSQLになっているため、アプリごとにClearDBを入れなければならない。利用にはクレジットカードが必要。(ClearDBの利用自体は無料)“`
$ heroku addons:add cleardb
“`
上記にコマンドの入力またはHerokuのサイトのsettingタブから導入できる。##Procfile を作成する
ProcfileというHerokuの設定ファイルを作成。サーバーにApacheを使うこと、public/をドキュメントルートとすることを宣言するために使います。アプリフォルダの直下に作成する。“`:Procfile
web: vendor/bin/heroku-php-apache2 public/
“`
中身は上記のように。##環境変数の設定
どの項目を登録すべきかよくわからなかったためいろいろやってみたが注意すべきはDBに関する項目。DB_DATABASE=[データベース名]
DB_HOST=[ホスト名]
DB_USERNAME=[ユーザー名]
DB_
【Laravel5.8】PHP7.4でTrying to access array offset on valueが山盛り出るようになった
Laravel5.8で試したからLaravel5.8としているだけで、他のバージョンや、あるいは他のフレームワークでも発生すると思います。
[PHP7.4.0がリリースされました](https://www.php.net/)。
で、PHP7.4からスカラー型変数に[配列アクセスするとE_NOTICEが出る](https://qiita.com/rana_kualu/items/2d71a88aab59b35cdcb8#trying-to-access-array-offset-on-value-of-type-s)ようになりました。
“`php
$a = null;
echo $a[1];
“`これはPHP7.3までは何も言いませんでしたが、7.4では[E_NOTICE](https://3v4l.org/cO0n3)が発生します。
さらにPHP8ではE_WARNINGになる予定です。これの何が問題って、値が入ってるかどうかわからないテーブルにリレーション張ってる場合ですよ。
“`php:テーブルAのモデル
class TableA extends Model{
PHP関連パッケージのアップデート後にセッション処理でエラーになったときの回避策
はじめに
PHP関連のパッケージアップデートしたら、セッション処理エラーを吐かれた。
そんなときの回避策。エラー出力の内容
Apacheのエラーログに以下メッセージが出力されている。
“`
Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/var/lib/php/session)
“`回避策
とりあえず、なんでもいいから復旧させたい!という場合は、/var/lib/php/session の権限を777にする。
“`
$ chmod 777 /usr/lib/php/session
“`PHP関連パッケージがバージョンアップされたときに、
“/var/lib/php/session” の権限が変わってしまったことが原因なので、
権限を777にすることで回避します。
【PHP超初心者】おみくじプログラムを作ってみた
はじめに
PHPの超初心者向け書籍を購入し、初めて作ったプログラムを公開します。
rand関数を使って、おみくじプログラムを作ってみました。おみくじプログラムの中身
Omikuji.php
“`
以下使用している関数など・array
配列・rond
乱数を生成する・PHP_EOL
改行コードを出力する
[Laravel]テキスト中のURLをリンクに自動で置換する
###概要
テキスト中にあるURLを自動でリンクに置換することでフロント側でリンク化する手間が省けるのでバックエンドで処理をしてみました。###URLをリンク化する
今回はテキスト中にURLの行のみのがある場合にリンク化させます。文章中のURLは、リンク化しない正規表現にしました。“`php
https://test //リンク化
https://test テスト //無視
“`###$textのURLをリンク化
“`php
public static function replaceUrl($text)
{
$texts = explode(PHP_EOL, $text); //PHP_EOLは,改行コードをあらわす.改行があれば分割する
$pattern = ‘/^https?:\/\/[^\s \\\|`^”\'(){}<>\[\]]*$/’; //正規表現パターン
$replacedTexts = array(); //空の配列を用意foreach ($texts as
Laravel6.0始める前にMacのphpは7.2以上にすべき話【対策を解説】
Laravel6.0を遂に試してみようということで、
いつもの通り、
“`
$ composer create-project laravel/laravel qiita –prefer-dist “6.0.*”
“`とバージョンを指定して、composerでプロジェクトを作成しようとしました。
そしたら、エラーが出てしまいました。
理由は、
Laravel6.0はpcのphpが7.2以上である必要がある
ということでした。
`MAMPはphp7.3.1なのになんでやと思ってたんですが、pcは7.1.2だったんですね…`
ということで、
pc(Mac)のphpのバージョンを7.3~にあげる方法を解説します
前提環境
MacOS MOjave 10.14.5
composerインストール済み
homebrewインストール済み*homebrewまだの人は各自インストールお願いします?*
##brewコマンドでphpをインストールする
まずはbrewコマンドでphp7系を検索してください。
“`
$ br
RailsとLaravelの比較
# はじめに
この記事はRailsとLaravelを比較分析してみた記事です.
Railsは以前から勉強していて,新たにLaravelを使ってみました.
Railsの勉強には[Ruby on Rails 5 超入門](https://www.amazon.co.jp/Ruby-Rails-5-%E8%B6%85%E5%85%A5%E9%96%80-%E6%8E%8C%E7%94%B0%E6%B4%A5%E8%80%B6%E4%B9%83/dp/4798048321/ref=tmm_hrd_swatch_0?_encoding=UTF8&qid=1574923117&sr=8-9)と[改訂4版 基礎 Ruby on Rails (IMPRESS KISO SERIES)](https://www.amazon.co.jp/%E6%94%B9%E8%A8%824%E7%89%88-Ruby-Rails-IMPRESS-KISO/dp/429500460X/ref=sr_1_5?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&keywords=
PHP(DB連携)
##書いてあること
– PHP(DB連携)
– 忘れたとき用の自分メモ##関連Web
###公式サイト
http://php.net/###仕様確認
http://php.net/manual/ja/index.php##DB接続・切断
DB接続文字列(\$dsn)は接続先DBごとに書式が違うため注意。
切断する場合はPDOオブジェクト変数(\$db)にnullをセットする。
接続エラーに対応するため、例外処理(try〜catch〜finally)を設定する。“`php
getMessage()}”;
} finally {
$db = n
PHP(開発用簡易サーバーの起動)
##書いてあること
– PHP(開発用簡易サーバーの起動)
– 忘れたとき用の自分メモ##関連Web
###公式サイト
http://php.net/###仕様確認
http://php.net/manual/ja/index.php##開発用簡易サーバーの起動
PHP付属の機能により、開発用簡易サーバーを利用することができる。
1.ドキュメントルートとするディレクトリに移動
2.IPアドレスを確認
3.`php -S 開発PCのIPアドレス:ポート番号`で開発用簡易サーバーを起動
4.ドキュメントルートが合っていることを確認
51歳からのプログラミング 備忘 XREA様の無料サーバーにLaravel
もっと簡単にできるかと思ったけれど、Laravelを導入するだけで丸1日潰れた。でも、先輩方がサイトで記録を残してくれているので、こんな僕でもなんとか独学で!参考にするのなら、他のサイトがおすすめ!
#参考サイト
下記様、大変にお世話になりました。ありがとうございます!
[tanidaiz.com様](https://tanidaiz.com/composer%E3%82%92%E3%83%AC%E3%83%B3%E3%82%BF%E3%83%AB%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BCssh%E3%81%A7%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95-%E4%B8%81%E5%AF%A7%E3%81%AB%E8%AA%AC/)
[@haessal様](https://qiita.com/haessal/items/789f8cce5027d0b8d1c2)
[@t_mitarai様](https://qiita.com/t_mitarai/items/0146905d81c3db79
Laravel6.5 419 page expired にハマったとき
# Laravel6.5でセッションがうまく機能しなかったとき
419エラーの原因は大体、form内に”@csrf”を書き忘れている場合だと思います。
しかし、CRSF対策のコードを記述してもエラーが解決しなかったので頭を悩ませましたが、
Laravel\project\storage\framework\sessions
のなかにあるセッションを保存しているファイルをすべて削除したら
正常に稼働しました。ネット上ではいくら探しても見つからなかったため、記事に起こしておきます。