PHP関連のことを調べてみた2019年11月29日

PHP関連のことを調べてみた2019年11月29日
目次

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/

スクリーンショット 2019-11-29 0.13.57.png

# Composerとは
composerはPHPのパッケージ管理システムです。
https://getcomposer.org/
ス</p></blockquote>
</blockquote>
<aside class='widget widget-post'>
<div class='tag-cloud-link'>PHP</div>
<div class='tag-cloud-link'>Composer</div>
<div class='tag-cloud-link'>Laravel</div>
</aside>
<div><a style='width:100%;' class='btn__link' href='https://qiita.com/seiyatakahashi/items/593c475d2e8198ba27b8'>元記事を表示</a></div>
<h3 id=[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.ドキュメントルートが合っていることを確認

0.or0qe2xhk.png

元記事を表示

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

のなかにあるセッションを保存しているファイルをすべて削除したら
正常に稼働しました。

ネット上ではいくら探しても見つからなかったため、記事に起こしておきます。

元記事を表示

OTHERカテゴリの最新記事