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

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

PHP – array_pushで躓いたこと

#環境
ARM(といってもIntel SoC)
Linux(intel SoC向けディストリビューションPoky)
サーバはlighttpd
PHPバージョンは5.6.38
#何が問題だったか
@rana_kualu 様からスッキリ回答いただきました!
私は一体何をみて、勘違いをしていたのでしょう。。。
PHP 4.x以降から可能だと思っていました。

**末尾コードのカンマは、PHP7.3以降です。**

ローカルでApacheとか最新のサーバを立てて、うまく動いて、
いざ組み込みとなった時に、PHPのバージョン全然古いじゃない、パターンでした。

##早速本題
ajaxからPHPをPOSTしてデータをやり取りしていました。
以下のコードではエラーが出てしまい、POSTデータが取れませんでした。

“`php:NG_code
$arr = array();
:
:
array_push($arr, $_POST[‘data1’], $_POST[‘data2’], $_POST[‘data3’], );
“`

エラー内容は、鍵括弧の終わり「 )」がダメだよのエラー

##PH

元記事を表示

PHP – Lighttpdでのファイルのアップロードサイズ変更

# はじめに
PHPはPHPでもphp-cgiを使用した時のメモ

Apache向けが多いので**Lighttpd**向けに
組み込みLinuxで軽量・簡単にWEBアプリケーションを作る人の選択肢が多いと思われます。
スタンドアロンな製品に簡易操作メニューを作りたい場合とか

## 調べた時の一生忘れていけない覚書
※ 次の製品を作るころには忘れてる、ので書いておく

`・lighttpdでは.htaccessは使えない`
`・lighttpd.confではphp.iniで設定する内容を記述できない`

# 環境・条件
事前にLighttpdでPHP(php-cgi)が動いていること
(phpコマンドが入っていなくてもよい)

WEBサーバー
lighttpdを使用

PHP version
ver 5.6

# php.iniを修正
php.iniは5.6デフォルトから必要なパラメータだけを修正しました。

デフォルトのphp.ini(5.4~5.6、7.0~7.3ま

元記事を表示

【Laravel】Composer requireでエラー(Installation failed, reverting ./composer.json to its original content.)が出るけどrequireしたい!

#composer requireしてみる

今回私はlarevel uiをインストールしたかった。

“`bash
composer require laravel/ui
“`

スクリーンショット 2020-05-14 14.45.55.png

エラーで乙。

#原因
今入れようとしたパッケージとすでに入っているパッケージがそれぞれ同じパッケージの違うバージョンに依存してしまっているよう?

#解決法
このようにバージョン指定にアスタリスクをつけて、依存関係が解決されるバージョンが存在するのを祈る。

“`bash
composer require laravel/ui:0.*
“`

0から試していく。

スクリーンショット 2020-05-14 1</p></blockquote>
</blockquote>
<aside class='widget widget-post'>
<div class='tag-cloud-link'>PHP</div>
<div class='tag-cloud-link'>error</div>
<div class='tag-cloud-link'>Laravel</div>
<div class='tag-cloud-link'>PHP7</div>
</aside>
<div><a style='width:100%;' class='btn__link' href='https://qiita.com/H__Goro_/items/5fab1e6682861a406570'>元記事を表示</a></div>
<h3 id=MacでLaravel6の環境構築で苦戦したのでまとめます。

ああ

元記事を表示

【PHP】POSTとGETのデータ送受信方法

#【PHP】POSTとGETのデータ送受信方法

それぞれの違いを明確に理解するためのメモです。

##postメソッド
– name属性でデータ受け渡し用の名称を設定することで、データの送受信を行う。
– 送られてきたデータの中身は$_POSTで取得&出力しないと見れない。

###必要な要素(inputタグの場合)
**■送信元**

– formタグ
– action属性:送り先のファイルパス
– method属性:post
– inputタグ(type=”text”)
– データ入力用
– name属性:受け渡し用の名称
– inputタグ(type=”submit”)
– 入力データ送信用

**■受信先**
$_POST[受け渡し用の名称]

“`php:送信元


CentOSにNginx、PHPを入れてバーチャルホスト(マルチドメイン)で動かす+FTP

## 前提、環境
– CentOS7
– ssh接続済み
– `su -`でrootユーザーに切り替えている
– ドメインとIPの紐付けができている(お名前.com、VPSのコンパネから設定)

## PHPをインストール
`yum -y install php`だと、古いバージョンのPHPしかインストールできません。
リポジトリを追加して、yumでインストールできる対象を増やしてからインストールします。

“`zsh
$ yum install epel-release
$ yum -y install http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
$ yum update
# php7.4をインストール 74の部分でバージョンを指定している
$ yum -y install –enablerepo=epel,remi,remi-php74 php php-devel php-mbstring php-pdo php-gd php-xml php-mcrypt
$ php -v
“`
参考サイト
[Cen

元記事を表示

laravelのルートモデルバインディング

#役割
ルートとモデルの結びつけを自動的に行ってくれる。

#参考例
“`php:web.php
Route::get(‘/user/{user}/show’, ‘UserController@show’);
“`

“`php:UserController.php
public function show(User $user)
{
return $user->name;
}
“`

このようにweb.phpで定めたURL/user/{user}/showの{user}と
コントローラーの引数に定めた$userが一致している場合、
URLの{}の中身をIDと見なしそれに一致するモデルクラスのインスタンスを自動的に作成してくれる。

元記事を表示

【PHP】送信先のフォーム情報をブラウザにキャッシュさせない方法

#【PHP】送信先のフォーム情報をブラウザにキャッシュさせない方法

送信後のフォーム(テストページ)のレイアウト調整で、CSSが反映されず、いちいちブラウザの設定からキャッシュを消すという作業が煩わしいのでその対処法メモ。

#対処法
送信先ページのヘッダーに3行追加するだけ。

“`



“`

実に簡単。これだけでページがキャッシュされなくなる。

#対処法②
formタグのaction属性で送信先ページのURLをパラメータにすればキャッシュされなくなる。

“`

“`

こちらの方法も簡単。

パラメータ付きページはページの内容が変わるため、ブラウザがキャッシュしなくなるらしい

元記事を表示

CodeIgniter4のModelの基礎

前回の記事、[CodeIgniter4でMySQLのDB構築](https://qiita.com/kohenji01/items/c87727e553c162b72548)の続きです。

#DBの操作はModelに書こう
MVCモデルにおけるModelとは、通常DBの操作や入力されたデータのやり取りや加工など所謂ビジネスロジックと呼ばれるものを担当するところとなります。CI4においては通常`app/Models/`配下に記述します。

###まずはModelのファイルを作る。

今回は`app/Models/InitDB.php`というファイルを作って前回のDB生成、テーブル生成、接続テストを各々メソッドとして用意します。

特段の事情がない限りファイル名と`Class名`は一致させたほうが良いでしょう。

“`php:app/Models/InitDB.php

元記事を表示

新人君向けの課題(ROT13)

フレッシャーズの皆さん、教育担当の皆さんジャンボ!!!!

最近、全然ブログ書けてなかった。。。

今回は、連想配列を使ってほしくてROT13という単換字式暗号(シーザー暗号)を課題として出してみました。

## 課題

“`
/**************************************************
* 課題2: ROT13関数を作成
*
* ・起動引数で入力した文字列をROT13の仕様で暗号化する
* ・str_rot13は、使ってはなりませぬ
* ・try-catch、throw Exceptionを使用する
**************************************************/
“`

## 私が書いた模範?解答です

“`php
‘n’, ‘b’ => ‘o’, ‘c’ => ‘

元記事を表示

【PHP】Notice: Undefined indexエラーの原因と対処法

#【PHP】Notice: Undefined indexエラーの原因と対処法

phpのフォームで送信後に以下のエラーが表示された場合。

“`
Notice: Undefined index
“`

##原因
フォームのデータ受け取りがうまくいっていない。
inputタグのname属性に空白を含んだ値をセットしていた。

name属性は空白で設定できるが、post(またはget)送信後、空白がアンダースコア「_」に置き換わる。

`$_POST[]`のname属性の指定を、アンダースコアなしの値で呼び出していたためエラーが発生。

##対処法
下記2パターンで対応可能。

①nameの設定に空白を使わない。
②`$_POST[]`で受取時に空白を「_」に置換した値をセットする。

##PHPの処理
###エラー
インスタンス生成時に名前の部分に空白を含んだ値をセットしていた。

“`php:php

元記事を表示

Laravel 画像をアップロードして表示する

# 目的

– アプリケーションに画像をアップロードして別画面で表示する方法をまとめる

# 環境

– ハードウェア環境

| 項目 | 情報 |
| — | — |
| OS | macOS Catalina(10.15.3) |
| ハードウェア | MacBook Pro (16-inch ,2019) |
| プロセッサ | 2.6 GHz 6コアIntel Core i7 |
| メモリ | 16 GB 2667 MHz DDR4 |
| グラフィックス | AMD Radeon Pro 5300M 4 GB Intel UHD Graphics 630 1536 MB |

– ソフトウェア環境

| 項目 | 情報 | 備考 |
| — | — | — |
| PHP バージョン | 7.4.3 | Homwbrewを用いて導入 |
| Laravel バージョン | 7.0.8 | commposerを用いて導入 |
| MySQLバージョン | 8.0.19 for osx10.13 on x86_64 | Homwbrewを用いて導入 |

#

元記事を表示

Swooleを使う前に知っておきたい基礎の基礎

近年Swooleに関する記事を見かける機会も増えてきました。LaravelやSymfonyといったフレームワークでもSwoole拡張のためのパッケージが登場しています。これらのフレームワークを利用すればSwooleのことをあまり知らなくてもアプリケーションを構築できるでしょう。しかし、Swooleについての基礎知識がないまま構築してしまうと、本番リリース後に予期せぬ問題を抱え込んでしまうかもしれません。

そこで本記事ではSwooleの基礎の基礎についてまとめてみたいと思います。

## Swooleとは

Swooleを知らない方のために、まずはSwooleについて簡単に紹介します。

![マスコット](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/184074/9a0ed77c-e2f6-3161-0bde-3725608cae34.png)

SwooleはC/C++で作られたPHP拡張モジュールで、スケーラブルなネットワークアプリケーションを構築するために設計された非同期・イベント駆動モデルのフレームワー

元記事を表示

某×サーバ宛のdeployerが動かなくなった件

# 事件編

某×サーバへのデプロイ、deploy:vendorsタスクでエラる

エラー概要(意訳 このエラーはパッケージがPHP7.2を要求しているがオメーのPHP環境5.4だぜ!出直してこい!)

“`
Loading composer repositories with package information
Installing dependencies from lock file
Warning: The lock file is not

元記事を表示

Laravelの開発環境構築

##環境
Mac Catalina10.15

##Homebrewをインストールする
[Homebrew](https://brew.sh/index_ja)はソフトウェアの導入を単純化するパッケージ管理システムのひとつです:blush:

以下コマンドを実行

“`sh
$ /bin/bash -c “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)”
“`

インストールできたか確認

“`sh
$ brew -v
“`

##PHPをインストールする
以下のコマンドでphp7.4をインストールする

“`sh
$ brew install php@7.4
“`
インストールできたか確認

“`sh
$ php -v
“`

##Composerをインストールする
Composerとは、PHP向けのパッケージ管理システムです:blush:

Homebrewでインストールする

“`sh
$ brew install composer
“`

元記事を表示

Dockerインストール -> Docker ComposeでWordPressローカルで動かしてMySQLに外から接続したり、編集を外からしたり。(Mac)

色々とうまくいかなかったのでメモを残します。

# WordPressをdocker-composeで動かすまで
## Dockerのインストール
下記URLからアプリをダウンロードしてインストール
https://www.docker.com/get-started

Dockerのアイコンが上のバーに出てくるのでdocker.hubのアカウントでログイン
![スクリーンショット 2020-05-13 10.01.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/636715/6c95c69c-3f15-bed9-3e30-c91b8c53cf3f.png)

UIでDockerの状況をお手軽に見れるので結構便利

## docker-composeの導入
下記ドキュメントを参考にcurlで導入したが、なぜか動かなかった
http://docs.docker.jp/compose/install.html

“`
curl -L https://github.com/docker/compose/

元記事を表示

PDO

PHPを用いてデータベースにアクセスするにはPDOを利用する。
##PDOとは
PDOとは PHP Data Objects の略。
データベースは種類によって、接続方法や操作方法が異なる。
PDOを用いれば、使用しているデータベースが異なっていてもコードの書き方を変える必要はない。

#使用例

“`
//データベースへの接続
try {
$pdo = new PDO(‘mysql:host=’ . $this->DB_HOST . ‘;dbname=’ . $this->DB_NAME, $this->DB_USER, $this->DB_PASSWORD);
//プリペアドステートメントのエミュレーションを無効にする
$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
//例外がスローされるようにする
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
//接続

元記事を表示

PHP配列表示

#はじめに
こちらではphpで配列の表示について書いていきたいと思います。
受け取ったものに対し内容が何であるかを把握するのはその後の処理において必要になると思います。

#環境
CentOS
PHP 7.3.17

#内容
具体的な内容・・・・と言っても基本的な内容ですが・・・
主に使うのは

var_dump
print_r
var_export

この三種類を使っていこうかとおもいます。
と言ってもやることはシンプルなんですけどね・・・

“`html:index.html



index



OTHERカテゴリの最新記事