php

phpでローカルでwebサーバーを起動して別端末からアクセスする

php

macでのみ検証した。ビルドインwebサーバーというらしい。あくまで開発支援のための機能なので本番では使わないでねってマニュアルに書いてあった。同じ端末からのみアクセスする # サーバー起動 $ php -S localhost:8080 -t path/to/document_root別端末か…

MacにComposerでライブラリをインストールしてPHPから呼び出す

PHPのライブラリのちょっとした検証を行おうとしたら今のPCでComposerを使ったことがなかったようだ。PCでさらにフレームワークなしでPHPを使うのが久々すぎて忘れていたので手順をメモしておく。今回はphpunitをhome以下にインストールする想定とする $ com…

【mysql】コミット前のselectの結果が更新前のままだった理由

ネタみたいだけど、また初歩的なミスをしたのでメモ。mysqlクライアントから確認 $ begin; $ insert into tests(id, name) values(1, 'test'); $ select count(*) from tests where id = 1; +----------+ | count(*) | +----------+ | 1 | +----------+期待…

【php】curl使い方メモ - GET,POST,PUT,DELETEとJSON

php

今更な内容だけど。たまにcurlで外部のAPI叩く必要があるときにいつも同じこと調べてる気がするのでコピペ用にまとめておく。 GET、POST、PUT、DELETEメソッドでリクエストして、パラメータがちゃんと送れているか確認するためのスクリプト。ついでにパラメ…

phpで時刻が9時間ずれてたらタイムゾーンを設定した方がよい

php

なにをいまさらな内容。というか愚痴。 サーバーの設定とかいじれない環境での話。こんなコードがあちこちにあった。 $date = date("Y-m-d", strtotime("9 hour"));どっかで1行セットしておいてください。 date_default_timezone_set("Asia/Tokyo"); $date =…

【cakephp】paginateでのorderが効かなかった時の対応

また、たまにしか触らないcakephpではまった。しかもバージョン1 paginateでなぜかorderだけ効かなかったこんな感じの基本的?なもので他では動いていたのに。。。 $this->paginate = array( "fields" => array( "Table.field1", "Table.field2", ), "order" …

【php】Lineアカウントでのログインを実装する

php

はじめに FacebookとかTwitterアカウントでのログインは何回かやったことあったけどLineは初めてだった気がしたのでメモしておく。 といっても、ちょっとしたアカウント情報取得するのはやり方どれも同じような感じですけど。http://milk0824.hatenadiary.jp…

【php】配列を複数条件で検索、絞り込みする方法メモ

php

大した話じゃないけどメモ。 やりたいことは、配列から条件で絞り込むみたいなこと。 array_filter使えばよいみたい。 // 検索対象のリスト $items = [ ["name" => "田中", "gender" => "woman"], ["name" => "高橋", "gender" => "woman"], ["name" => "亀…

【Selenium】facebook/php-webdriverでスクレイピングする方法メモ

centosでseleniumでやる方法探してたらまさにやりたいことがこのページにまるまる載ってました。助かりました。ありがとうございます。 php-webdriverを使用してスクレイピングをした話 - 備忘録ほぼこのとおりにやったらいけました。 一部ちがったところと…

【cakephp】updateAllを呼んでもデータが更新されなかった原因メモ

あまり使ったことのないcakephpの改修でハマった。更新されない $this->MyModel->updateAll(array( "text" => "text", ), array( "id" => 1, ));文字列はクォートで囲むと更新される $this->MyModel->updateAll(array( "text" => "'text'", ), array( "id" =…

【php】cronのプロセスを監視する

はじめに 開発環境と現状はこんな感じ ・PHPで開発したスクリプトをcronで起動 ・処理時間が1日とかかかる ・いちおうエラー処理も実装したが途中で処理落ちすることがある(原因が特定できていない)で、やりたかったことは処理が落ちたらアラートメールとか…

【php】値渡し、参照渡しとか

php

値の値渡し function set($arr) { $arr[0] = 2; } $arr = [1]; set($arr); print_r($arr); // => [1]値の参照渡し function set(&$arr) { $arr[0] = 2; } $arr = [1]; set($arr); print_r($arr); // => [2]参照の値渡し function set($obj) { $obj->pro = 2;…

【fuelphp】controller名にアンダーバー(アンダースコア)を使う方法メモ

はじめに 今回やりたかったのは以下のようなurlを使いたかった http://example.com/member_groupで、fuelphpのコントローラの命名規則でアンダーバー(_)はフォルダ区切り文字なのでそのまま使えない。 routes.phpに以下のように書けばurlは実現できるけどフ…

【php】php5.6とphp7.0をwordpressで比較してみた

はじめに php5.6からphp7.0にしたらどれくらい速くなるのかというのを試してみただけ 環境としてはローカルPCにvagrantでcentos6.7、php5.6、mysql5.6、apache2.2.15をインストールして 最新バージョンのwordpressをいれてダミーデータを登録してapache benc…

【Laravel5】開発する上で最低限必要そうなことをまとめておく

はじめに 最近流行りのLaravelを調べたのでまとめておく 実案件で使うかは未定だが実際使うときに簡単に導入できるようにというのが目的 やること ・1. Laravelインストール ・2. 設定ファイルなどを修正 ・3. ページの作成手順(Routerの設定とViewとControl…

【Laravel5】エラーページ(500.blade.php)が呼ばれないときの対応

**はじめに以下の手順でエラーページをカスタマイズ(1) エラーページを作ってこちらに保存 resources/views/errors/500.blade.php(2).envのAPP_DEBUG=falseに設定で、わざとDBエラーが出るようにクエリを間違えて確認しようとしたら500.blade.phpは表示され…

Laravel5でControllerをサブディレクトリ以下に作る方法メモ

今回やりたかったのは以下のような形でControllers以下にサブディレクトリを作りたいことでした app/Http/Controllers/Category/Create.php app/Http/Controllers/Category/Edit.phpなんとなく調べていると以下の内容の記事が数件ヒットしたができないしよく…

php-mecabインストールで「checking for mecab-config... configure: error: not found」の対応メモ

phpでmecab - Qiita ここを参考にやったら1箇所だけ詰まったのでメモ > ./configure --with-php-config=/usr/bin/php-config --with-mecab=/usr/bin/mecab-config ・・・ configure: WARNING: You will need re2c 0.13.4 or later if you want to regenerate…

mecabをインストールしてwikiの辞書データを入れてphpで使えるようにする手順メモ

はじめに 前やった時はあまりハマった記憶なかったのだが、今回は辞書データ作るところで何故かハマりました。。 ほとんど他サイトに書いてあるとおりだけどいちおう手順をまとめておく環境はcentos6.7ざっくり以下の手順 ・mecabインストール ・wikiからデ…

【fuelphp】phpunitでのテスト自動化入門〜使い方メモ

はじめに ずっとやろうやろうと思ってて放置していたテストです 残念なことに自分が携わってきた案件ではこれが使われていた案件はありませんでした。・自分は心配性な方なので割とデバッグは入念にやるためか ・たまたま案件に恵まれていただけなのか はわ…

【php】コマンドライン(cronから)で実行サーバーのipアドレスを取得する方法

はじめに 今回やりたかったことは複数のサーバーに同じスクリプトを置いて、それぞれを実行するcronを設置 処理結果をメールで送信するていう簡単なものでしたが、メールにどのサーバで実行されたものかわからないからメールにサーバーのIPアドレスくらいは…

【php】json_encodeで整形して出力する方法メモ

php

大した話じゃないけどこんな便利なことができたのか・・・こんな配列があります $array = array( "status" => 1, "result" => array( "total" => 200, "userList" => array( array("id"=>1, "name"=>"yamada"), array("id"=>2, "name"=>"sato"), array("id"=…

【php】simple_html_domで要素の次の要素を取得する方法

php

はじめに やりたかったのはスクレイピングで以下のように取得したいタグにclassもidもついていない場合で。 わかることはh3のタイトルの中身は同じでその後ろにtableがあってこのtableの中身を取得したかった ・・・ <h3>表のタイトルです</h3> <table> <tr><th>ID</th><th>名前</th></th> <tr><td>1</td><td>太郎</td></th> <tr><td>2</td><td>花子</td></th> </table> …

【adminLTE】fuelphpで管理画面を作るときのひな形メモ

はじめに 【adminLTE】管理画面として使うときのテンプレートひな形としてまとめておく - とりあえずphpとか 僕はfuelphpを使っているので、こちらの内容をfuelphpで使う場合のひな形 ファイル構成 header.php・・・全画面共通で使うヘッダー部分 footer.php…

phpで暗号化・復号化

php

ちょいちょい探す機会があったのですが今のところこれが1番良さそう暗号化・復号化共通定義 $password = "abcd"; $iv = "12345678"; $options = OPENSSL_RAW_DATA; $method = 'des3';暗号化 // 暗号化したい文字列 $input = "test"; $encrypt = openssl_encr…

vpsでサーバー構築するときに必ずやってる設定などまとめ

前にも同じようなこと書いた気がしますが、時間が経つとちょっとずつやってる内容が変わってくるのでメモしておきます。 ちなみにさくらのvpsです sshの設定 作業ユーザーの作成 sudo許可 鍵認証設定 パスワードでのログイン禁止と外部からrootでのログイン…

mysqlからデータを取得してわざわざphpでソートする

はじめに 僕はけっこうコレやります。 どういうときに使うか考えて見る・レコードが多い複数のテーブルをjoinしなくてはならない場合 ・テーブル分割していてそれぞれのテーブルからデータを取得してきて結果をマージしなくてはならない場合などなど テーブ…

【apache】.htaccessはhttpd.confと比較して速度が遅いのか

大した話ではないのですが、昔.htaccessを使っていたら速度が遅いから使わないでと言われました。 apacheが毎回.htaccessを探して内容を解析して実行・・・のような流れになるので漠然と遅いのだろうなとは思っていましたfuelphpを使っているサービスでfuelp…

【Aws】SQSを使ってみた

はじめに やりたかったことはアクセスが多いサービスでDBへのデータの登録など時間がかかりそうな処理を非同期で行うということ。 ちなみにデータの更新結果によって画面の表示がかわるような場合では使用できません。 今回は主にログデータの登録なのでこの…

【adminLTE】スライダーメニューのデフォルトの開閉状態を指定する方法

はじめに bootstrap製の管理画面テンプレートのadminLTEの画面左のスライドメニューについてメニューオープン メニュークローズ こんな感じのかっこいいのがあるのですが、 1. メニューを閉じる 2. 画面遷移する 3. メニューが開いた状態になってしまうこう…