PHP関連のことを調べてみた2020年08月13日

PHP関連のことを調べてみた2020年08月13日

DockerのLAMP環境でPHPからMySQL接続に詰まった話

# Dockerで環境作るの一瞬で便利だよね

下のブログを参考にLAMP環境を作りました。厳密には、Linux使わずDockerだからDAMPだね。
[Docker で Apache \+ PHP \+ MySQL 環境構築 – WebSpaceBlog](https://webspace.jp/blog/229/)

ブログよりも簡略化しています。

## Docker-compose.yml

参考ブログと同じにしたので割愛

## フォルダ構成
/
├─mysql
│ ├─data
│ │ ├─mysql
│ │ ├─performance_schema
│ │ ├─sys
│ │ └─test
│ └─init
├─php
│ ├─Dockerfile
│ └─php.ini
└─www
└─html

## php/Dockerfile

もう最小限です。

“`
FROM php:7.1.5-apache
RUN apt-get upd

元記事を表示

EC-CUBE2.17でendroid/qr-codeの最新バージョンがインストールされない

# はじめに
EC-CUBE2.17環境で、composerでendroid/qr-codeを入れようとした際に最新バージョンがインストールされなかった場合の対処法です。

## やりたいこと
– EC-CUBE2.17のマイページにQRコードを表示したい

# endroid/qr-code
## インストール

Packagist:https://packagist.org/packages/endroid/qr-code

“`shell
$ composer require endroid/qr-code
Using version ^1.9 for endroid/qr-code
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 4 installs, 17 updates, 19 removals
– Removi

元記事を表示

PHPで動的変数(可変変数)を扱う

#変数を動的に作成する(可変変数)
変数を動的に作成したら楽なのにな…と思うけど案外使っている方が少なかった?ので記録として。
例えばPHPの場合、変数の初期化宣言をしなくても代入を書いてしまえば使えてしまうわけですが、以下のように初期化宣言している場合です。

“`test.php
$apple = “”;
$peach = “”;
$grape = “”;
“`
上記のような例はよく見られると思います。
場合によってはもっと多くの変数を宣言しないといけない…なんて事もあるかもしれません。
これを動的に作成する方法は以下のようになります。

“`test_arr.php
$arr = array(
“apple”,
“peach”,
“grape”
);

foreach ($arr as $value) {
${$value} = “”;
}
“`

`${}`の中にforeachでloopしたvalueを入れてあげることでtest.phpとやっていることは同じになります。
コード量増えたじゃん!って思うかもですが、稀にtest.phpのように初期化処理を行

元記事を表示

ウクライナではPHPエンジニアの採用にいくらかかるのでしょうか?

現代のプログラミングの世界では、選択できるプログラミング言語がたくさんありますが、PHPはおそらく最も古い言語の1つであるにもかかわらず、今なお人気があります。 PHPは1994年にRasmus Lerdorfによって作成されました。当時は、Cと呼ばれる別の優れたプログラミング言語によって作成されたCGIバイナリのセットにすぎませんでした。しかし、長年にわたって人気を集め、より大きなものに成長してきました。

簡単に言えば、PHPはWeb開発で使用される言語の1つです。 PHPはプログラミング言語であり、主に以下の3つの分野で使用されています。

・サーバー側のスクリプト:これはPHPの主な目的です。サーバーによって処理され、クライアントがその結果を受け取ることはPHPの主な機能になっています。そして、クライアント側でアクションの論理を見ることはできません。
・コマンドラインスクリプト:PHPの優れたところは、サーバーやブラウザーなしで実行できることです。必要なのはPHPパーサーだけです。私たちはWindows向けのタスクスケジューラーをお勧めします。
・デスクトップアプリケーションの

元記事を表示

Laravel で Docker 使って開発したいなら Vessel にしておこう

[Vessel](https://vessel.shippingdocker.com/) そこそこ使ってる人はいるんだろうけど、 [Laradock](https://laradock.io/) 使ってツラいことになってる人がそこそこいそうなので [Vessel](https://vessel.shippingdocker.com/) 使うと楽だよということをに書いておきます。

# Vessel とは

[Vessel](https://vessel.shippingdocker.com/) は簡単に下記環境を Docker で作成することができます。

– PHP7.4
– MySQL 5.7
– Redis
– NodeJS, NPM, Yarn, Gulp

ちょっと自分の環境にあわない(例えばデータベースに PostgreSQL を使っている等)場合は書き換えることができます(各種ファイルがコピーされるだけなので)。おおむね、PHP, データベース, キャッシュストレージ, NodeJS があれば 8〜9 割くらいの現場ではフィットするんじゃないでしょうか。

# 使用にあた

元記事を表示

laravel SQLSTATE[HY000] [2002] Connection refused

###SQLSTATE[HY000] [2002] Connection refused (SQL: select * from information_schema.tables where table_schema = laravel and table_name = migrations and table_type = ‘BASE TABLE’)エラー対処

メモ

.envの修正もしたのに解決しなかった場合、下記コマンド実行したら解消しました。

“`
php artisan key:generate
php artisan cache:clear
php artisan route:clear
php artisan config:clear
php artisan view:clear
“`

元記事を表示

Dockerでpostgresとpgweb(GUI)を構築したっす

DockerによるPHP、Apache、PostgreSQLの開発環境を構築した時の流れをまとめようと思います。

また、データベース管理インタフェースを使うと直感的に操作できて便利なので、PostgreSQLについてはモダンなUIであるpgwebも導入してみます。
## 環境
– Mac for Docker
– Apache2.4
– PHP7.1
– PostgreSQL9.6

## 構成
スクリーンショット 2020-08-11 12.15.42.png

## ファイル群
docker/web/Dcokerfileに以下を記述します。

“`docker/web/Dockerfile
FROM php:7.1-apache

COPY ./php.ini /usr/local/etc/php/

RU

元記事を表示

[PHP] 簡易ログインアカウント登録機能を実装してみた

### はじめに
前回の記事でログイン機能を実装しました。
**https://qiita.com/N46_myHearter/items/ae4f776790c4c4666a66**

この記事では、ログインする際に使用するアカウントをデータベースに登録する機能を実装してみたいと思います。

**基本的な流れ**
 1. 登録するユーザ情報(ID、パスワード、ユーザ名)を入力します。
 2. 入力値チェックを行う。
 3. ユーザ情報をDBに登録する。

簡易なので…笑笑

### データベース
今回は、MySQLを使用しています。
データ項目は、**ID**、**パスワード**、**ユーザ名**の3つのみで構成しています。
プライマリーキーにIDを指定しています。
パスワードは、ハッシュ化で暗号化。(調べた時にハッシュ化だと簡単に出来たから笑笑)

### 該当ソースコード
#### 1. register.php

アカウントを登録するための入力画面です。
入力項目は、ID、名前、パスワード(確認のため2回入力)です。
入力項目すべて入力されているか、2回入力したパスワードが

元記事を表示

MW WP Formのお問い合わせデータを日付指定でフィルタする

普段あまりWordPress触らないのですが、急遽サポートで対応した内容になります。
調べても案外情報がなかったので、あまりそういう要件がないのかな。
※急ぎでの対応でしたのでもっと最善策があるかもしれません。

# 環境
WordPress 5.2
PHP 7.0.32
Apache バージョン不明

# MW WP Formとは
[MW WP Form](https://ja.wordpress.org/plugins/mw-wp-form/)

WordPressのフォームプラグイン。
簡単にフォームを構築できて、入力内容を保存、閲覧も可能な便利なプラグイン。

# 問題点
MW WP Formの管理画面では、フォームの入力内容を一覧で見ることができるが、その際にフィルタリングが「月指定」でしかできない。
そのため、これに「日付指定」を追加したい。
また、画面上のフィルタリングがCSVダウンロードに反映されない。

まとめると2点。

* 「月指定」のフィルタリングしかできない
* フィルタリングがCSVダウンロードに適用されない

上記2点を改善します。

# 改修内容

*

元記事を表示

お名前.comにて、拡張子htmlのままphpを動かす(レンタルサーバー RSプラン)

初投稿です。

今まで自分が利用したことのあるレンタルサーバーとは異なったため、サポセンに問い合わせたら

>お問い合わせの件につきまして、「.html」ファイルを別の拡張子で
>動作させる場合は.htaccessにて AddHandler など、「.html」ファイル
>をcgiとして実行いただく記述でご利用いただけます。
>
>なお、独自にご準備された.htaccessの設置についてはサポートを
>控えさせていただいております。
>
>具体的な記述や設定方法につきましては、市販の書籍や参考書など
>にてご確認くださいますようお願い申しあげます。

とのことでしたのでインターネットで調べたところ、Qiitaに有益な情報を見つけました。

参照元:[お名前.comにて、拡張子htmlのままphpを動かす](https://qiita.com/taguchinbo/items/bf560c3b6968f9fe69f3)

こちらはお名前.comでも共用サーバー SDプランのことなのか、レンタルサーバー RSプランだとこのままでは動作せず、どなたかが同じように悩んで時間を浪費しないようメモ

元記事を表示

オープンソースとプライバシー志向の分析ソリューション

![data-privacy-meme.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/229807/8844b530-adf8-055c-ce57-02af9852259b.png)

##はじめに

こんにちは streampack チームのメディです。
https://cloudpack.jp/service/option/streampack.html

##Objective ・ 目的
Privacy is an important matter.
I would like to present several open source solutions that respect users privacy and will allow you to improve your business.

プライバシーは重要な問題です。
ユーザーのプライバシーを尊重し、ビジネスの改善を可能にするいくつかのオープンソースソリューションを紹介したいと思います。

###Disclaimer ・ 免責事項
A

元記事を表示

PHP ひとこと掲示板

“`PHP
20 ) {
$error[] =

元記事を表示

[PHP]Twitter APIを試してまとめた

#今回の題

Twitter APIの審査がようやく通ったので記事にします。
申請は英語で行うのですが、グーグル翻訳の精度が上がっていてめちゃくちゃ助かりました。
アカウントの申請に関しては今回は省きますが、人によっては数ヶ月待つというなかなか根気のいる審査なので、今は使う予定がない人もとりあえず申請だけしておくと後々役立つかと思います。(私は一週間待ちました)

申請は[こちら](https://developer.twitter.com/)から

#ライブラリの準備
・abraham/twitteroauthのインストール
[abraham/twitteroauth]
(https://github.com/abraham/twitteroauth)はstar数4000近い人気のライブラリです。
少ないコード、シンプルな記述で簡単にTwitter APIを操作できます。

“`terminal
$ composer require abraham/twitteroauth
““

#利用準備
申請後の開発者用のページの**Comusumer Key**や**Access To

元記事を表示

新しめのmacOSでPHP 5.6を自前ビルドするとOPcacheがクラッシュする件の解決

表題の通りですが、私の手元のmacOS 10.14 (Mojave)でPHP 5.6.40を自前ビルドしたところ、OPcache有効のときに常にクラッシュする問題が発生しました。OPcacheを無効にすると何も問題ありません。

ググったところ、PHP 5.5/5.6のOPcacheの実装がイケていないせいでclang 6.0のみ期待通りに動かないようで、macportsでパッチが作られていました。

– https://github.com/macports/macports-ports/commit/6223b017e474c9bdcda958c618553136c681da8d

更に元ネタはこれかな…?

– https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=227723

この修正を入れたところPHP 5.6.40がOPcache有効でも死ななくなりました。

元記事を表示

PHP mb_strimwidth関数

# 目的

– 便利そうな関数だったので自分用に使い方をざっとまとめてみる

# 前提情報

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

# 機能

– 文字列を丸めることができる。

# 例

– 下記にmb_strimwidth関数の例を記載する。文字を丸める数の指定は半角での指定になるので日本語文字列の3文字目で丸めたいなら丸め文字数を6と指定する必要がある

“`php
mb_strimwidth(丸めたい文字列, 文字列の開始位置, 開始位置から何文字で丸めるか, 丸めた後の文字列の最後に追加される文字);
“`

# 具体例

– 「日本の朝は酢豚とビール」という文字列の全角5文字目(半角10文字目)で丸める場合は下記の様に記載する。(ちなみに「日本の朝は酢豚とビール」という言葉は周期表の15属を縦に覚える時の語呂合わせである。)

“`php
echo mb_strimwidth(‘日本の朝は酢豚とビール’, 0,

元記事を表示

【Eloquent】よく使うメソッド集

 Eloquentは便利ですよね。どんなメソッドがあるかまとめたくなったので、ここに書いちゃおうと思います。

*使用環境
 PHP 7.4.5
 Laravel 7.22.4
#基本的な使い方
 まずはモデルクラスを用意します。Itemクラスならば以下のようなコマンドで作れます。
`php artisan make:model Item`
後はそのモデルクラスを使って、あとで出る表にあるメソッドでどんどんデータ抽出するだけです。こんな感じで->でくっつけていきます。

“`php
limit(10)->get();
“`

#集計系(selectで使うような)
|メソッド名|引数|説明|
|:–|:–|:–|
|max|1.カラム名|max(‘value’)とすればselect max(value)ということになります。|

#結合系(joinを使うような)
|メソッド名|引数|説明|
|:–|:–|:–|

元記事を表示

独学未経験エンジニアがweb系自社開発企業でアルバイトを2ヶ月してみて感じたこと

#簡単な自己紹介
* 大学では機械工学を専攻 
* プログラマに魅力を感じ2019年新卒でメーカー子会社のIT会社に入社
* 入社してから10ヶ月で会社を退職
* そこから4ヶ月間独学で勉強し、現在web系の自社開発企業でアルバイト中

#ニートになって独学していた時代
新卒で入社したときに感じたことや退職理由はまた今度別の記事で書いてみたいと思います。

####勉強したこと一覧
* **progate**(HTML,CSS,Javascript,Ruby,RubyonRails)

* **railsチュートリアル解説動画**
2周はした。1周目は動画を見るだけで、2周目は手を動かしながらでした。
かなりお世話になり、railsチュートリアルとは友達になった気がする

* **Ruby on Rails5 超入門**
[amazonリンク](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-ebook/d

元記事を表示

PHP_CodeSnifferのルールまとめ

# 概要

PHP_CodeSnifferにはどのようなルールがあるのか調べてまとめています。
バージョン3.0を対象としています。

# PHP_CodeSnifferとは

[squizlabs/PHP_CodeSniffer](https://github.com/squizlabs/PHP_CodeSniffer)

PHP_CodeSnifferはコーディング標準の違反検出するスクリプトと、それを自動で修正するスクリプトです。

> PHP_CodeSniffer is a set of two PHP scripts; the main phpcs script that tokenizes PHP, JavaScript and CSS files to detect violations of a defined coding standard, and a second phpcbf script to automatically correct coding standard violations. PHP_CodeSniffer is an essential d

元記事を表示

VSCode Remote-Containers で Laravel7 開発環境 ( CentOS8+PHP7.4+MongoDB4.4 ) を爆速で準備する

# はじめに
Docker で開発環境コンテナをサクッと準備。実際の開発は VSCode + Remote-Containers ( 拡張機能 ) を使ってコンテナ内で行うための手順をまとめています。記事内容に間違いなどありましたら、コメント欄にてご指摘お願いいたします。
まだ色々と制約はありますが、とりあえずコンテナを立ち上げるところまでは上手くいったので公開します。

# 前提条件
– Docker ( Windows/MacOS の方は Docker Desktop ) が使用できること
– VSCode が使用できること

# ファイル構成
以下の構成でディレクトリとファイルを作成していきます。
とりあえず動かしてみたい方は [GitHub](https://github.com/slangsoft/vscode-remote-containers-laravel “GitHub:vscode-remote-containers-laravel”) から Clone してください。

“`
Project/
├─ .devcontainer/
│ ├─ devc

元記事を表示

LaravelのUnitテストでRefreshDatabaseを使ったらSAVEPOINT trans2 does not exist が出た話

## 現象
Laravelを利用した環境で通常のケースではTransactionも機能しており問題なかったが、RefreshDatabaseを用いたPHPUnitでの実行ではエラーが発生していた。

“`
Doctrine\DBAL\Driver\PDOException : SQLSTATE[42000]: Syntax error or access violation: 1305 SAVEPOINT trans2 does not exist
/src/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:43
/src/vendor/laravel/framework/src/Illuminate/Database/Concerns/ManagesTransactions.php:260
/src/vendor/laravel/framework/src/Illuminate/Database/Concerns/ManagesTransactions.php:238
/src/vendor/l

元記事を表示

OTHERカテゴリの最新記事