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

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

composer installでprivateリポジトリのソースコードを取得できない

ただのミスなのですが、備忘も兼ねて記事化

## 先にまとめ

– githubにSSHキーを登録してなかったことが原因
– またはhttpsのアドレスを指定すれば取得できる

## どういうエラーか

“`
[RuntimeException]
Failed to execute git clone –mirror — ‘https://ghp_XXXXXX:***@github.com/sample/sample.git’ ‘/Users/user/.composer/cache/vcs/git-github.com-sample-sample.git/’

Cloning into bare repository ‘/Users/user/.composer/cache/vcs/git-github.com-sample-sample.git’…
remote: Repository not found.
fatal: repository ‘https://github.com/sample/sample.git/’ not found
“`

PH

元記事を表示

PHP 正規表現を用いて文字列のマッチを判定する

# 目的

– PHPにて正規表現を用いた文字列評価の方法をまとめる

# 情報

– 下記のサービスを用いて動作を確認した。
– [https://paiza.io/ja](https://paiza.io/ja)

# 方法

– `preg_match()`メソッドを使用する。
– 下記のように記載する。
– 例
– `preg_match(‘正規表現’, ‘評価する文字列’)`
– 正規表現にマッチしていた場合は1が、マッチしていなかった場合0が返される。
– 具体例
– 下記を実行した時は1が返される。

“`php

元記事を表示

vscodeでPHP開発環境作ってみた(日本語化・Git・PHP Intelephense)

久しぶりにPHP案件に復帰するので、せっかくなら新しいエディタで始めてみようと思い、vscodeでPHP開発環境を準備してみた。

## vscodeのインストール
https://code.visualstudio.com/
ここからダウンロード。ダウンロード完了したらファイルを開き、成り行きでインストール。

## 日本語化
へぼへぼエンジニアなので、英語が怖い。日本語化する。
### 日本語拡張機能の追加
左のメニューの一番下をクリックし、拡張機能の画面を開く。
「japanese」まで入力すると、日本語の拡張機能が一番上に表示されるので、Installをクリックする。
![日本語インストール.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109315/35cc0983-1e06-16db-c7dd-64c7c106f58a.png)
### 言語の切り替え
インストールが完了しただけだとまだ英語のままだ。
`ctrl`+`sift`+`P`を押すと上に入力欄が出るので、「display」と入力す

元記事を表示

PHPで /tmp のファイルが見つからない

PHPでデプロイ時にも削除されないように `/tmp` にキャッシュファイルを作成したが、ファイルが存在するのに`file_exists()` が `false` になったり、PHPからプロセス起動しての `ls` コマンド実行でも “No such file or directory” になり、ドハマリした。
ファイルの存在はもちろんファイル権限や状態など確認しまくっても、既存のファイルとPHP内で取得してきたファイルに全く違いがない。謎すぎた。

PHPのプロセスごとにバーチャル `/tmp` が使用されているのが原因だった。。。

https://stackoverflow.com/questions/21615786/content-of-tmp-is-not-visible-from-php-fpm-when-using-systemd

知っていればなんてこと無かったことだが、数時間を無駄にしてしまった。

追記:
そもそも、`/tmp`ではなく、キャッシュならば`/var/cache`を使用すべきか。
Linuxディストリビューションによっても異なるが、例えばCentOS

元記事を表示

Laravel6系をPHP8で動かす

dockerで動かした時、STATUSがrestartingで正常に起動しない。

“`
% docker-compose ps
NAME COMMAND SERVICE STATUS PORTS

local-laravelproject-php-1 “docker-php-entrypoi…” laravelproject-php restarting

“`

logsで原因を探る。

“`
% docker-compose logs

local-laravelproject-php-1 | Installing dependencies from lock file (including require-dev)
local-laravelproject-php-1

元記事を表示

php artisan make:migration create_blogs_table 実行時にPHPのバージョン違いによるエラーが発生する

#目次
[概要](#概要)
[実施環境](#実施環境)
[問題発生まで](#問題発生まで)
[問題](#問題)
[結論](#結論)
[解決するまでにやったこと](#解決するまでにやったこと)

#概要

こちらの動画を参考にしてLaravelアプリを作成する過程で以下のエラーが発生したので解決するまでにしたことを記しました。

#実施環境
#####ハードウェア環境
| 項目 | 情報 |
|:-:|:-:|
| OS | MacOS Big Sur (11.5.2) |
| ハードウェア | MacBook Pro (Retina, 13-inch, Late 2013) |
| プロセッサ | 2.4 GHz デュアルコアIntel Core i5 |
| メモリ | 4 GB 1600 MHz DDR3 |
#####ソフトウェア環境
| 項目 | 備考 |
|:-:|:-:|
|

元記事を表示

備忘録~今日学んだ配列関係の変数まとめ~

“`
array_slice — 配列の一部を切り取る。
array_slice(array $array,int $offset,?int $length = null)
$input = array(“a”, “b”, “c”, “d”, “e”);

$output = array_slice($input, 2); // “c”, “d”, “e” を返す。
$output = array_slice($input, -2, 1); // “d” を返す。
$output = array_slice($input, 1,3); // “b”, “c”, “d” を返す。
$output = array_slice($input, 0, 3); // “a”, “b”, “c” を返す。
“`

“`
array_chunk - 配列を分割する。

元記事を表示

PHPの=>と->の違い

PHPに最近入門したのですが、JSを既に知っているとPHPの`=>`と`->`に大変混乱させられます。アロー関数では全くないんですよね。。(Javaでも=>は同じような意味なのに…)

###`=>`は配列にアクセスするときに使う

“`index.php
$arrSamp = array(
0 => ‘Ringo’,
1 => ‘Mikan’,
2 => ‘Ichigo’,
3 => ‘Kiwi’
);

print_r($arrSamp);

//表示結果
//Array
//(
// [0] => Ringo
// [1] => Mikan
// [2] => Ichigo
// [3] => Kiwi
//)

//Json Objectにも
echo json_encode([“error” => [“type” => “server_error”, “message”]]);

//結果
//{“error”:{“type”:”server_error”,”0″:”message”}}
“`

###`->`は

元記事を表示

PHP + Instagram API で画像取得する

自分のサイトにInstagramの最新の画像を表示するために
phpでInstagram APIを叩いて画像URLを取得できるようにする。

公式のヘルプ
https://developers.facebook.com/docs/instagram

# 準備
1. Facebookアプリを作成
1. https://developers.facebook.com > アプリを作成 > アプリタイプ: なし
1. 表示名とメールアドレス設定 ![スクリーンショット 2021-11-06 21.25.20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/6568/c457d367-300f-a1b9-33b0-ddd83597a388.png)
1. アプリダッシュボード画面が表示される
1. 設定 > ベーシック > プラットフォームを追加 > `Website` を選択
1. サイトURLを入力![スクリーンショット 2021-11-06 21.35.28.png

元記事を表示

Lravel+EC2+Nginxでデプロイする

Lravel+EC2+Nginxでデプロイする

環境
Amazon Linux2

参考サイト
[EC2・RDSでLaravelの環境構築【PHP・MySQL・Nginx】](https://qiita.com/yuta_sawamura/items/e925ac687eddfef359fa)

こちらだとPHP-fpmmとNginxの設定に関しての表記が少なくてハマってしまった所があったので、
そこを補いつつ全体の流れを書いて行こうと思います。

###全体の流れ
①EC2インスタンスの作成
②SSHでEC2に接続
③Nginxのインストール
④PHPのインストール
⑤Nginxを使用するためのPHP-fpmの設定
⑥GitHubからLaravelのリポジトリのclone
⑦Nginxの設定変更
⑧Laravelアプリの設定変更など
⑨RDSの作成
⑩セキュリティグループの設定
⑪.envファイルの設定変更とマイグレーション
・ハマったところと解決法のまとめ
・yumとは
・ApacheとNginxとPHP-FPMの関係性の図解

###EC2インスタンスの作成
ここは標準的な操作

元記事を表示

【一度は読んでおきたい】PSR について見ていく

## はじめに
前回は自動的に規約に従ってコードを検知・整形してくれるライブラリの紹介をしました。

https://qiita.com/suzu12/items/1f1502375c3ad4753ebb

今回はコーディング規約について見ていきます。

– コーディング規約に沿ってレビューができる
– 保守性が高くなる
– 開発で迷いが少なくなる
– 社内ルールをつくる上でのベースとすることができる
– コードを統一化することができる

ざっとあげただけでもこのように多くのメリットがあります。

コーディング規約を意識してコードを書くことで
無駄な指摘をなくしたり
社内共通認識(社外に出ても)として持つことができたりするので
覚えておいて損はないかと思います。

## 対象読者

– 複数書き方があるけどどちらのほうが良いのかわからない
– 初学者でどのような規約があるのか知りたい方
– 復習したい方

## 目次

– [はじめに](#はじめに)
– [対象読者](#対象読者)
– [目次](#目次)
– [PSRってなに?](#psrってなに)
– [絶対守りたい規約](#絶対

元記事を表示

WordPressでパーマリンクにindex.phpが入ってしまう問題の解決

この記事は、
htt*://wordpress.qiita/index.php/contact/
のようにパーマリンクでindex.phpが入ってしまっている場合に有効です。
環境:Ubuntu-Server20.04、apache2

.htaccessがあるか確認

WordPressをインストールすると.htaccessは出現すると思うのですが念のためApacheのドキュメントルートにて以下を実行してください。

“`
ls -a
“`
筆者の場合:
/var/www/html$ “ls -a“
恐らく.htaccessがあるかと思います。
確認が終わったら次のステップに進みます。

mod_rewrite.soが読み込まれているか確認

mod_rewrite.soがないと.htaccessの内容がパーマリンクに反映されないのでmod_rewrite.soが有効になっているか確認します。
最初に以下を実行:

“`
sudo a2enmod rewrite
“`

“`
Enabling module rewrite.
To act

元記事を表示

Laravelのバージョン6系をインストールする

インストール方法は下記URLに「Via Laravel Installer」と「Via Composer Create-Project」の2種類が記載されている。

https://laravel.com/docs/6.x#installing-laravel

今回は「Via Composer Create-Project」を採用。作成するプロジェクト名(ディレクトリ)を「sample_laravel_src」とした場合のコマンド実行例。

“`
% composer create-project –prefer-dist laravel/laravel sample_laravel_src “6.*”
“`

以下、実行ログ。

“`
% composer create-project –prefer-dist laravel/laravel sample_laravel_src “6.*”
Creating a “laravel/laravel” project at “./sample_laravel_src”
Installing laravel/laravel

元記事を表示

今までの流れ

今までの流れ(アプリ開発)
1バックエンドの導入(支援者あり)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2231259/2d935ccd-a74a-16c3-8b7e-e68182576c07.png)

スマホでweb開発できるようなバックエンドシステムを借りてプログラムを勉強しはじめました。

2html css javascriptの簡単な入力
過去投稿

のような形で勉強をつづけました。

3必要な情報の検索とコードの追加
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2231259/6d18bea3-7698-f5e0-eb3a-cc135e4

元記事を表示

M5Stackで部屋の震度を時系列に計測した

なんだか部屋が揺れてる気がする…
![jishin_kinishinai_people.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/16457/eb6eefaa-e0bd-20dd-1f9f-873c51b4ba64.png)

ということで、まずはスマホを置いて加速度センサーで揺れ具合を確認してみました。
その結果、データ上でも反応があり、気のせいではないことが確定。
ただ、揺れが気になる時間と気にならない時間もありそうな気配でした。
時間変化の状況を確認したいので長期的に計測したいと考えたけど、スマホを放置して常にセンシングすると日常が困る。
というわけで、代わりに持ってたM5Stackを使うことにしました。

#M5Stackの設置
空気清浄機の上にこんな風に設置しました。
![m5stack_setting.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/16457/22c5a9a0-44bc-f132-0d

元記事を表示

PHPUnitでDDD実装パターンをテストしてみた

# はじめに

CakePHP4でDDDを意識して作成したAPIについて、テストコードを作成しました
こちらの記事の続きになります

「ドメイン駆動設計 サンプルコード&FAQ | 松岡幸一郎」の本を大変参考にさせていただきました

また、この記事で紹介するソースコードは、 GitHub にコミットしてあります

# バージョン

– PHP
– 8.0.10
– CakePHP
– 4.3.0
– PHPUnit
– 9.5.10

# テストコード

代表して、「ユーザーを登録する」ユースケースの処理の流れのテストコードを記載します

## プレゼンテーション層

“`php:tests/TestCase/Controller/Api/V1/UsersControl

元記事を表示

EC2データベースマイグレーションできない

##やろうとしたこと
ec2上でphp artisan migrateを実行してデータベースマイグレーションしようとを思ったらハマってしまったのでメモしておきます。
##エラー内容
“`
$ php artisan migrate

**************************************
* Application In Production! *
**************************************

Do you really wish to run this command? (yes/no) [no]:
> yes

In Connection.php line 669:

SQLSTATE[HY000] [2002] Connection timed out (SQL: select * f

元記事を表示

複数のテキストフォームの内容をファイルに保存する

##概要
1つのフォームタグ内にテキストフォームが複数ある場合、PHPに渡してテキストファイルに保存する。

##html
ファイル名はなんでもいい。

“`






“`
##PHP
ファイル名data.phpで保存する。

“`

元記事を表示

CentOS7の初期状態から nginx で php python perl ruby を動かすまで

# はじめに
https://qiita.com/bashaway/items/16c2aba74a8328ed9618

と同じことをCentOS7でやっただけ。
作業履歴の目的なので、解説は少なめ。

# 作業内容

## 事前作業
SELinuxは無効化にしておく。

upstreamとかproxyとかでアクセスさせようとしてPermissionDeniedが出て、ソケットのパーミッションやらなんやら調べてたけど、面倒になってSELinuxを無効化したら動いたので、そうした。
いろいろ検証したり調査したりするときにはやっぱりSELinuxは外さないと時間がかかる。。。

## パッケージインストール

各スクリプトと、CGIとして動作させるためのパッケージをインストールします。

“`:いろいろインストール
yum install -y epel-release
yum update -y
yum install -y nginx php php-fpm python3 ruby fcgi spawn-fcgi fcgiwrap perl perl-CGI

“`

py

元記事を表示

CakePHPの開発環境構築

本記事は[こちら](https://zenn.dev/isana/articles/cakephp-docker-enviroment)からの転載です。
当時、内定を頂いた転職先の業務のキャッチアップのために学習していた内容を書いたという背景があったのでした。

## モチベーション
CakePHPのキャッチアップの為に簡単に環境構築を行いましたのでその記録です。

## 環境
– ホストOS: ubuntu20.04(wsl)
– PHP: 7.3
– CakePHP: 4.*

アプリとDBだけの簡単な構成でdocker-compose.ymlを作成します。
ハマりポイントとしてはmysqlのバージョンです。
はじめは8.0で構築したのですが以下のエラーでmyappとdbの疎通が出来ませんでした。
> Error: [InvalidArgumentException] There was a problem connecting to the database: SQLSTATE[HY000] [2054] The server requested authentication m

元記事を表示

OTHERカテゴリの最新記事