- 0.0.1. vscodeでPHP開発環境作ってみた(日本語化・Git・PHP Intelephense)
- 0.0.2. PHPで /tmp のファイルが見つからない
- 0.0.3. Laravel6系をPHP8で動かす
- 0.0.4. php artisan make:migration create_blogs_table 実行時にPHPのバージョン違いによるエラーが発生する
- 0.0.5. 備忘録~今日学んだ配列関係の変数まとめ~
- 0.0.6. PHPの=>と->の違い
- 0.0.7. PHP + Instagram API で画像取得する
- 0.0.8. Lravel+EC2+Nginxでデプロイする
- 0.0.9. 【一度は読んでおきたい】PSR について見ていく
- 0.0.10. WordPressでパーマリンクにindex.phpが入ってしまう問題の解決
- 0.1. .htaccessがあるか確認
- 0.2. mod_rewrite.soが読み込まれているか確認
- 0.2.1. Laravelのバージョン6系をインストールする
- 0.2.2. 今までの流れ
- 0.2.3. M5Stackで部屋の震度を時系列に計測した
- 0.2.4. PHPUnitでDDD実装パターンをテストしてみた
- 0.2.5. EC2データベースマイグレーションできない
- 0.2.6. 複数のテキストフォームの内容をファイルに保存する
- 0.2.7. CentOS7の初期状態から nginx で php python perl ruby を動かすまで
- 0.2.8. CakePHPの開発環境構築
- 0.2.9. 【Laravel】ラジオボタンの実装と値の保持
- 0.2.10. 【PHP】PHPで301リダイレクトをする方法
- 1. header関数
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
知っていればなんてこと無かったことだが、数時間を無駄にしてしまった。
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’
);
“`###`->`はオブジェクトのメソッドやプロパティへアクセスするときに使う
“`Sample.php
class Sample {
function hoge() {
echo ‘hoge’;
}
}
“`“`index.php
$Hoge = new Sample();
$Hoge->hoge(); //hoge
“`JSなら`Sample.hoge()`で呼び出すところですが、これが`->`になるんですね。めちゃくちゃ紛らわしいです。結構忘れるので備忘録。
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]:
> yesIn 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
【Laravel】ラジオボタンの実装と値の保持
#はじめに
値がちゃんと保持されるようにラジオボタンを実装してみます。#コード
“`php:create.blade.php
OTHERカテゴリの最新記事
- 2024.09.19
JavaScript関連のことを調べてみた
- 2024.09.19
JAVA関連のことを調べてみた
- 2024.09.19
iOS関連のことを調べてみた
- 2024.09.19
Rails関連のことを調べてみた
- 2024.09.19
Lambda関連のことを調べてみた
- 2024.09.19
Python関連のことを調べてみた