ふたりはララベル (Laravel PHP Framework)

PHPフレームワークのLaravelの体験記を書いていきます。こんなタイトルのブログですが萌え系アニメは一秒たりとも観たことがありません。

Humhubの「ハンドラが見つかりません」エラー

こういうエラーがたまにでる。 最後の操作を処理中にエラーが発生しました。 (ハンドラが見つかりません)。これは「設定→Advanced→キャッシュ→保存してキャッシュクリア」で解決する。

HumHubの操作マニュアル(随時更新)

「いいね!」してくれた人を調べる 「いいね!」の人数をクリックしてください。パソコンの場合はマウスオーバーだけでもわかります。

HumHub 1.3リリース

HumHubが1.3になったんだけど、Cron設定がちょっと変わった。yii cronは一つになり、yii queueが増えた。 * * * * * /usr/bin/php /path/to/humhub/protected/yii queue/run >/dev/null 2>&1 * * * * * /usr/bin/php /path/to/humhub/protected/yii cron/run…

HumHubに投稿する画像のサイズを小さくする

HumHubは投稿画像を小さくしてくれないので、5MBの写真をアップするとそのままアップロードされる。まず画像を小さくする関数を作って tempName; $options = [ 'width' => 400, 'height' => …

HumHubでプロフィールを非表示にする

HumHubでは管理者画面で一個ずつプロフィールを非表示にできるんだけど、それを一挙にやる。このコードをどこかで実行すればいい。 $fields = \humhub\modules\user\models\ProfileField::find()->all(); $visibles = ['firstname', 'title']; # 非表示にし…

Humhubメモ

設定ファイルの場所 「protected\config\dynamic.php」になる。これとDBを消せば初期化となる。 推奨モジュール 「Humhub Updater」は入れて置いたほうがいい。アップデート作業を自動化してくれる。

humhubでCSSを追記する

humhubでオリジナルなCSSを追加したい。編集するファイルは humhub\protected\humhub\assets\AppAsset.php

Humhubでダッシュボードに書き込みを置く

Humhubでダッシュボードに書き込みを置いてみた。 編集するのは humhub\modules\dashboard\views\dashboard\index.php

環境変数を使わずにopenssl_pkey_newを使う

Windows+Xampp環境だと、openssl_pkey_newが動かない。いろいろ設定頑張れば出来そうだけど、下記のようにソースコードにフルパス書けば成功することに気がついた。 $res = openssl_pkey_new([ 'config' => 'D:\xampp\apache\conf\openssl.cnf', 'digest_al…

xserverでは、shell_execの一部が動かない

謎の仕様。Xserverではshell_execは使える。ところが shell_exec('php -v')を使うとプロセスが返ってこないし、 shell_exec('python -V')だと結果がNULLになる。この仕様のせいで、friendicaが使えなくて困った。

Xserverにgitをインストールする

ググった情報のコピペだけでは出来なかったよ。まず wget https://github.com/git/git/archive/master.zipはOpenSSLのバージョンの関係で失敗するので wget https://www.kernel.org/pub/software/scm/git/git-2.17.0.tar.gzにした。ところがmakeが出来なかっ…

CentOSの構築メモ

yum install --enablerepo=remi,remi-php71 php-mysqlnd yum install --enablerepo=remi,remi-php71 php-posix

Excelの書式を全て削除するマクロ

Excelで書式が増えすぎた場合は手で削除するのはムリ。マクロで一気に消しましょう。 Sub Excelの書式を全て削除() Dim myStyle As style On Error Resume Next For Each myStyle In ActiveWorkbook.Styles If Not myStyle.BuiltIn Then myStyle.Delete End …

PHPがThread Safeなのか?x86なのか64なのか?

こうすりゃわかるのか。 >php -i|find "Thread Safety" Thread Safety => enabled >php -i|find "Architecture" Architecture => x86

humhubをWindowsにインストールする

PHP

PHPのSNS、どれを使うか悩んでいる。OXWALLは実際に運用したけど、すごく使いにくかった。Minds、Movimもイマイチ。Elggはバージョン3が中々出ない。というわけでhumhubにチャレンジ。Yiiフレームワークはあまり好きじゃないんだが…。 バージョンの注意事項…

LaravelでPHPUnitを使ってNo tests executed!

Laravel5.4でPHPUnit6を使ったときに「No tests executed!」が出る。Laravel5.4はPhpunit6に対応していないので、vendor内にあるphpunitを使うと解決できる。 php vendor\phpunit\phpunit\phpunit

Image source not readableの対処

大きな画像を送って「Image source not readable」が出た場合はphp.iniの「upload_max_filesize」の値を大きくすれば対処できる。

storeとupdateで共通で使えるバリデーション

storeとupdateでバリデーションを共通化したいけど、updateの時だけユニークチェックしたい。という時の書き方。あまりキレイじゃないね。。。 public function valid() { $validator = \Validator::make($this->toArray(), [ 'code' => 'required|max:255',…

Requestに値を入れてテストする

コントローラーをテストする時にRequestの変数に値を入れる。 $request = new Request; $request->merge([ 'name' => 'testname', ]); $controller = new \Lb\Http\Controllers\TitleController($request); $controller->update($request, 100); $title = Ti…

長くなったLaravelのModelを分割

長くなったLaravelのModelを分割する方法の一つとして、私は上位モデルを使うときがある。 Titleモデルのうち、Updateに関する機能を独立させるときはこんな感じ。テーブル名を指定するのがポイント。 class TitleUpdate extends Title { protected $table =…

PostgreSQLで大文字小文字検索

「iLIKE」を使えば、PostgreSQLで大文字小文字関係なく検索できる。 Mymodel::where('name', 'iLIKE', $name)->first();

Laravel5.3のログインをメールアドレス以外にする

Laravel5.3で、またやり方が変わったみたい。編集対象のファイルは App\Http\Controllers\Auth\LoginController.php public function username() { return 'username'; }

XserverではOwncloud9以降がインストールできない

XserverではOwncloud9以降がインストールできなかった。libxml2のバージョンが低いから。これは困った。しょうがいないからOwncloud8を使うしかないんだけど、Owncloud8だとPHP7に対応していない。つまりXserverのPHPが7以上にあげられないのだ。

Laravel5.2からコンテナ登録方法が変わった

古い書き方 $this->app['myapp'] = $this->app->share(function($app) { return new Myapp; }); 新しい書き方 $this->app->singleton('myapp',function($app) { return new Myapp; });

Laravel5でajax

Laravel5.2系の古いバージョンでajax動かしていたんだけど、5.2系の新しいバージョンだと動かない。よくわからないけどTOKEN入れないとダメらしい。js側 $.ajaxSetup({ headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') } }); ヘッ…

XserverのPHPでエラー

Laravel5.3をXserverで動かそうとしたらエラーになった。 [ERROR] Use of undefined constant STDIN - assumed 'STDIN'bootstrap/autoload.phpの先頭にdefine('STDIN', fopen('php://stdin', 'r'));を置いたら収まった。何だったんだ。

Laravelのmigrate:resetで外部キーエラー

Laravelで php artisan migrate:resetしたら、以下のエラーが出た。外部キー関連のエラー。 SQLSTATE[23000]: Integrity constraint violation: 1451 Cannot delete or upda te a parent row: a foreign key constraint fails (SQL: drop table if exists `t…

Laravelのログインをメールアドレス以外にする

AuthControllerに「protected $username = 'name';」を足す。

XserverにLaravelを置くときの.htaccess

<IfModule mod_rewrite.c> suPHP_ConfigPath /home/MyServerName/MyDomain/xserver_php/ AddHandler x-httpd-php5.5 .php .phps AddHandler fcgid-script .php .phps FCGIWrapper "/home/MyServerName/MyDomain/xserver_php/php-cgi -c /home/MyServerName/MyDomain/xserver_php/php.</ifmodule>…

LaravelのPHPUnitでログインする

LaravelのPHPUnitでログインする。 class AccessTest extends TestCase { public function setUp() { parent::setUp(); $user = \App\User::where('name', 'dummy')->first(); $this->be($user); } public function testBasicExample() { $this->visit('home…