20200125のPHPに関する記事は18件です。

今後について

ども。久々です。

突然ですがサブカルチャー特化型のSNSを開発します。

システムは既存のオープンソースプラットフォームを利用しますので開発期間はあまり長くはないと思う。というか時間が取れない。

なぜなら今年大学受験だから………だけでなくまともにネットができるのが土日しかない。

それでもやりたい理由はまた今度…

そんでまず手始めにVPSサーバーを契約して必要なモジュールは入れた。

基本的なシステム構成はapacheをbuntu 18.04LTSで回すというごく単純です。

何が問題なのかというと低スペックサーバーでもいかに安定な処理ができるかです!!

ということでRubyとかも検討したのですが比較的重めのシステムはいかんかな〜と思ったんで結局php7.3にしました。(7.4にしなかった理由は単純に安定性重視だから)

PHPってサーバーサイドの言語だけどhtmlの静的なページはできるだけクライアントで処理していただく…という魂胆です。

また気が向いたら開発理由とか今後の計画とか書きますー

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

【PHP】Qiita 週間いいね数ランキング【タグ別】

他のタグ

集計期間

01月18日 ~ 01月25日

いいね数ランキング

1位: [個人開発]大喜利サービスを5日でつくってわかったこと

PHP AWS lamp Webサービス 個人開発
180いいね
@n_devさん(01月22日 13時55分の投稿)

2位: Laradockを使ってLaravel環境を構築した

PHP Laravel Docker docker-compose LaraDock
17いいね
@inagackyさん(01月20日 09時37分の投稿)

3位: Laravelをデザインパターンで考察する ~ Builder Pattern ~

PHP Laravel デザインパターン
6いいね
@7_asuparaさん(01月23日 05時15分の投稿)

4位: Laravelではメール送信やSlack通知のテストが簡単だって知ってましたか?

PHP テスト Laravel テスト自動化
6いいね
@yamotukiさん(01月21日 09時35分の投稿)

5位: Laravelで大規模プロジェクトと戦うにはRepository層を導入するといいかも

PHP Laravel
6いいね
@hal_256さん(01月21日 03時46分の投稿)

6位: 2020年 ITカンファレンスまとめ

Ruby Python PHP JavaScript Conference
4いいね
@TaitoAjikiさん(01月20日 15時28分の投稿)

7位: PHPStormのTemplateを設定してdeclare(strict_types=1)を常に設定する

PHP PhpStorm
3いいね
@kazuheiさん(01月24日 09時52分の投稿)

8位: CakePHPとAjaxでいいねボタンをつくりました

PHP CakePHP jQuery Ajax
3いいね
@namida_neetさん(01月23日 14時27分の投稿)

9位: [baserCMS]ブログのカテゴリーごとに表示を変更する

PHP CakePHP baserCMS
3いいね
@BigFly3さん(01月22日 09時02分の投稿)

10位: LaravelでUncaught domexception: failed to execute '***' on 'element': ',' is not a valid attribute name.を吐き出したときに確認したこと

PHP JavaScript Laravel
2いいね
@yutaro704さん(01月23日 10時58分の投稿)

11位: Dockerで入れたPostgreSQLへのPDO接続でエラーが出て悩んだ。

PHP PostgreSQL PDO Docker docker-compose
2いいね
@jiiiimyさん(01月23日 04時48分の投稿)

12位: ファイルのPOST時にPHPで拡張子の偽装チェックを行う

PHP
2いいね
@huuyaさん(01月22日 06時58分の投稿)

13位: 【初学者向け】セキュリティ対策入門②〜SQLインジェクション編〜

PHP 初心者 セキュリティ Docker
2いいね
@junkimatsudaさん(01月20日 12時33分の投稿)

14位: Laravelの開発環境3つとそれぞれのメリット、デメリット

PHP Vagrant Laravel Docker
2いいね
@falconwsさん(01月20日 10時46分の投稿)

15位: Laravelでトランザクションをネストせずに新しいトランザクションを切る

PHP MySQL Laravel
1いいね
@alteさん(01月24日 06時54分の投稿)

16位: PHPの基礎知識整理

PHP 初心者
1いいね
@nanatsuさん(01月24日 04時36分の投稿)

17位: グラフ描画のためのデータベース操作

PHP MySQL SQL chart.js
1いいね
@synjyoさん(01月23日 01時42分の投稿)

18位: クラスについて

PHP
1いいね
@yuki_911さん(01月22日 14時14分の投稿)

19位: よく使いそうなPHPでのデータベースへのアクセス

PHP MySQL
1いいね
@bibourokuさん(01月22日 11時10分の投稿)

20位: AWSで作ったLaravelアプリケーションをXserverにデプロイする

PHP AWS xampp Laravel xserver
1いいね
@chobiutauさん(01月22日 10時20分の投稿)

21位: ReflectionException Class does not exist 原因まとめ

PHP Laravel PHP7
1いいね
@pappikkoさん(01月20日 16時47分の投稿)

22位: WPプラグイン「Event Organiser」でイベント開催日を取得する

PHP WordPress WordPressプラグイン EventOrganiser
1いいね
@yashi845さん(01月20日 07時52分の投稿)

23位: PHP関連のアドベントカレンダーを持ち寄って紹介して話し合う【Web x PHP TechCafe 3杯目】

PHP Web コミュニティ もくもく会 PHPTechCafe
1いいね
@MasaKuさん(01月20日 06時13分の投稿)

24位: PHP基礎構文 マジックメソッドを全て利用してみる

PHP PHP7
1いいね
@tatsuo-iriyamaさん(01月19日 12時51分の投稿)

25位: laravelで作った画像も表示できるブックレビューの機能について ※ポートフォリオの解説です

PHP api Laravel
1いいね
@Shogo_Sさん(01月19日 11時11分の投稿)

26位: LambdaでPHPを実行する手順

PHP Makefile lambda PHP7
1いいね
@masataka715さん(01月19日 10時57分の投稿)

27位: 【個人開発】Webサイトを作ってみた

PHP
1いいね
@kflowerさん(01月19日 06時27分の投稿)

28位: CentOSにcomposerをインストールする方法

PHP CentOS Yum Composer
1いいね
@yukachin0414さん(01月19日 05時57分の投稿)

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

【PHP】Qiita 週間いいね数ランキング【自動更新】

他のタグ

集計期間

01月20日 ~ 01月27日

いいね数ランキング

1位: [個人開発]大喜利サービスを5日でつくってわかったこと

PHP AWS lamp Webサービス 個人開発
195いいね
@n_devさん(01月22日 22時55分の投稿)

2位: Laravelをデザインパターンで考察する ~ Builder Pattern ~

PHP Laravel デザインパターン
11いいね
@7_asuparaさん(01月23日 14時15分の投稿)

3位: Laravelで大規模プロジェクトと戦うにはRepository層を導入するといいかも

PHP Laravel
7いいね
@hal_256さん(01月21日 12時46分の投稿)

4位: Laravelではメール送信やSlack通知のテストが簡単だって知ってましたか?

PHP テスト Laravel テスト自動化
6いいね
@yamotukiさん(01月21日 18時35分の投稿)

5位: PHPStormのTemplateを設定してdeclare(strict_types=1)を常に設定する

PHP PhpStorm
4いいね
@kazuheiさん(01月24日 18時52分の投稿)

6位: Laravelのサービスコンテナのバインドと解決の仕組みが知りたい!

PHP Laravel
3いいね
@chess-sanさん(01月26日 17時44分の投稿)

7位: 【 laravel】ER図 からCRUD自動生成ツール。テストデータ生成も追加!【Laravel DB.com 】

PHP MySQL Web Laravel Faker
3いいね
@daisu_yamazakiさん(01月25日 18時11分の投稿)

8位: CakePHPとAjaxでいいねボタンをつくりました

PHP CakePHP jQuery Ajax
3いいね
@namida_neetさん(01月23日 23時27分の投稿)

9位: [baserCMS]ブログのカテゴリーごとに表示を変更する

PHP CakePHP baserCMS
3いいね
@BigFly3さん(01月22日 18時02分の投稿)

10位: Laravel-excel を使い、非同期でインポートする

PHP Laravel Laravel-Excel
2いいね
@ShibuyaKosukeさん(01月27日 14時14分の投稿)

11位: 【Laravel6.8以降】認証関連のリダイレクト先の設定変更がDRYになったよ

PHP Laravel DRY Laravel6
2いいね
@shonansurvivorsさん(01月27日 10時24分の投稿)

12位: LaravelでUncaught domexception: failed to execute '***' on 'element': ',' is not a valid attribute name.を吐き出したときに確認したこと

PHP JavaScript Laravel
2いいね
@yutaro704さん(01月23日 19時58分の投稿)

13位: Dockerで入れたPostgreSQLへのPDO接続でエラーが出て悩んだ。

PHP PostgreSQL PDO Docker docker-compose
2いいね
@jiiiimyさん(01月23日 13時48分の投稿)

14位: よく使いそうなPHPでのデータベースへのアクセス

PHP MySQL
2いいね
@bibourokuさん(01月22日 20時10分の投稿)

15位: ファイルのPOST時にPHPで拡張子の偽装チェックを行う

PHP
2いいね
@huuyaさん(01月22日 15時58分の投稿)

16位: PHP/Laravel で作成したプロジェクトをAWSにデプロイ

PHP AWS Laravel デプロイ
1いいね
@pankokkoさん(01月27日 11時45分の投稿)

17位: 【徒然なるままに】2020年最新、WEB技術の勢力図を三国志にしてみた

Ruby PHP Scala Vue.js React
1いいね
@pepaperon_pさん(01月26日 20時29分の投稿)

18位: PHPでお問い合わせフォームを作る その3 入力チェック

PHP 初心者 お問い合わせフォーム やってみよう
1いいね
@hotate_chanさん(01月26日 19時03分の投稿)

19位: 今後について

PHP
1いいね
@ysok2135さん(01月25日 23時53分の投稿)

20位: 【PHP】Qiita 週間いいね数ランキング【自動更新】

PHP
1いいね
@kou_pg_0131さん(01月25日 23時18分の投稿)

21位: 【PHP】PHPの超基礎をここに(パート1)

PHP WordPress
1いいね
@Marie23さん(01月25日 22時13分の投稿)

22位: Laravelでトランザクションをネストせずに新しいトランザクションを切る

PHP MySQL Laravel
1いいね
@alteさん(01月24日 15時54分の投稿)

23位: PHPの基礎知識整理

PHP 初心者
1いいね
@nanatsuさん(01月24日 13時36分の投稿)

24位: Laravelで非同期チャットアプリを作ろう(2)

PHP jQuery Laravel Ajax GLEAP
1いいね
@Alesion30さん(01月24日 09時56分の投稿)

25位: グラフ描画のためのデータベース操作

PHP MySQL SQL chart.js
1いいね
@synjyoさん(01月23日 10時42分の投稿)

26位: クラスについて

PHP
1いいね
@yuki_911さん(01月22日 23時14分の投稿)

27位: AWSで作ったLaravelアプリケーションをXserverにデプロイする

PHP AWS xampp Laravel xserver
1いいね
@chobiutauさん(01月22日 19時20分の投稿)

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

【PHP】PHPの超基礎をここに(パート1)

PHPの基礎をここに

昔かじったPHPを完全に忘却したので復習を兼ねてPHPの超基礎

PHPはHTMLの中にぶっこむことができる

phpkiso.php
<html>
<body>
<?php
echo "Hello world";
?>
</bod>
</html>

※メモ※ファイルの最後がPHPのプログラムで終わるときは?>は省略可!

コメントアウト

comment.php
<html>
<body>
<!-- HTMLコメント -->
<?php
echo "Hello world";
//一行用
/*  複数行用の
コメント */
?>
</bod>
</html>

文字列の表示

文字列出力の際は"echo"を使う
文字は「'」か「"」で囲む必要がある

mojiretsu.php
<?php echo 'Hello world' ?>

変数

変数とは、、、一時的に値を保存する箱?的な存在
※$を頭につけて半角英数と「_」を使用して名前をつける
※変数名の頭に数字は使用不可
※変数には「=」を使って値を入れる
※値を入れることを「代入」という

hensu.php
<?php 
$fruit = 'りんご';
echo $fruit; //「りんご」と出力される
?>

配列

hairetsu.php
<?php 
$vegies = array('たまねぎ', 'ほうれん草', 'じゃがいも');
echo $vegies[0]; //「たまねぎ」と出力される
echo $vegies[2]; //「じゃがいも」と出力される
?>

0番目があるのがポイント

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

vscodeでダブルクリックで、$を含んで変数を選択したい

環境 mac

~/Library/Application Support/Code/User/settings.json
を開いて次を追記する。

"editor.wordSeparators": "`~!@#%^&*()-=+[{]}\\|;:'\",.<>/?",

もしくは、「command + ,」 でsettingを開いて窓に「wordSeparators」と入れて検索し出てきた設定から"$"を抜く。
設定はリセットできるので、うまくやろう。

参考
Make Visual Studio Code to correctly select PHP variables on double-click | Igor Kromin

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

phper用 vscodeでダブルクリックで、$を含んで変数を選択したい

環境 mac

~/Library/Application Support/Code/User/settings.json
を開いて次を追記する。

"editor.wordSeparators": "`~!@#%^&*()-=+[{]}\\|;:'\",.<>/?",

もしくは、「command + ,」 でsettingを開いて窓に「wordSeparators」と入れて検索し出てきた設定から"$"を抜く。
設定はリセットできるので、うまくやろう。

参考
Make Visual Studio Code to correctly select PHP variables on double-click | Igor Kromin

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

PHPでお問い合わせフォームを作る その2 テンプレートを使ってみる

PHPでテンプレートを使ってみよう

前回の記事で、最低限のコードでお問い合わせフォームを作ってみました。

  • 1 入力画面 データを入力させる
  • 2 確認画面 データを受け取り、受け取ったデータを表示する
  • 3 完了画面 メールを送信して、ありがとうメッセージを表示する

という流れでした。
データの引き渡しをやってみた、というところです。

で、今回は前回の記事に書いていたやっておいた方が良い事のうち、テンプレートの使用をやってみたいと思います。

前提

今回もフレームワークは使いません。
なので、厳密な意味でのテンプレートエンジンは使用しません。
PHPファイルとhtmlを書いたファイルを分離することを目的とします。
では、作っていきます。

構成

index.html       // 入力画面です
confirm.php      // index.htmlで入力されたデータを受け取ります
confirm.html     // confirm.phpで受け取ったデータを表示します
complete.php     // confirm.htmlからデータを受け取りメール送信します
complete.html    // メール送信後、ありがとうメッセージを表示します

いや〜簡単な構成ですね・・・・ では次から各ファイルを見ていきます。

作ってみる

index.html

index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>phpでフォーム送信</title>
</head>
<body>
<form action="./confirm.php" method="post">
    <div id="contents">
        <div id="name">
          お名前 <input type="text" name="name">
        </div>
        <div id="mail">
          メールアドレス <input type="text" name="mail">
        </div>
        <div id="toiawase">
          お問い合わせ内容 <textarea name="toiawase"></textarea>
        </div>
        </br>
        </br>
        <input type="submit" value="確認">
    </div>
</form>
</body>
</html>

はい、このファイルは前回から変更ありません。
味気のない入力フォームです。

confirm.php

confirm.php
<?php

    $name = $_POST['name'];
    $mail = $_POST['mail'];
    $toiawase = $_POST['toiawase'];

    // confirm.html 読み込み
    $htmlString = file_get_contents("./confirm.html");

    // html内の変換文字列を使ってconfirm.html内の文字列を変換
    $printHtml = str_replace("****replace_onamae****", $name, $htmlString);  // 名前の変換
    $printHtml = str_replace("****replace_mailaddress****", $mail, $printHtml);  // メールアドレスの変換
    $printHtml = str_replace("****replace_toiawase****", $toiawase, $printHtml);  // メールアドレスの変換

    echo $printHtml;

あれ、htmlの記述がなくなってる。

confirm.php
<?php
  〜  〜
    // confirm.html 読み込み
    $htmlString = file_get_contents("./confirm.html");

file_get_contents 使って confirm.html を読み込むようにしてます。
そして、読み込んだhtml内の変換用の文字列を使って、取得した名前・メールアドレス・問い合わせ内容を書き換えてます。

では、confirm.htmlはどうなっているかというと

confirm.html

confirm.html
<!DOCTYPE html>
<html>
<head>
<meta charset='UTF-8'>
<title>Insert title here</title>
</head>
<body>
お名前:****replace_onamae****
</br>
メールアドレス:****replace_mailaddress****
</br>
お問い合わせ内容
</br>
****replace_toiawase****
</br>
</br>
<form action='./complete.php' method='post'>
<input type='hidden' name='name' value='****replace_onamae****'>
<input type='hidden' name='mail' value='****replace_mailaddress****'>
<input type='hidden' name='toiawase' value='****replace_toiawase****'>
<input type='button' onclick='history.back()' value='戻る'>
<input type='submit' value='確認'>
</form>
</body>
</html>

めっちゃ無理やりやな・・・・
confirm.php で confirm.html を読み込んで、html内の ****replace_onamae**** をconfirm.php で取得した名前に変換しとるんやね。
同じやり方で ****replace_mailaddress**** をメールアドレス
****replace_toiawase**** をお問い合わせ内容

このやり方だったらフレームワークもテンプレートエンジンも使わずにのPHPでPHPファイルとhtmlファイルを強引に分けることができる。
あとは同じやり方でcomplete.php と complete.html も作りましょう

complete.php

complete.php
<?php

    $name = $_POST['name'];
    $mail = $_POST['mail'];

    $toiawase = $_POST['toiawase'];

    $mailHeader = "From: from@from.com";
    $mailSubject = "お問い合わせありがとうございます";
    $mailBody = $name . "様 お問い合わせありがとうございます";
    $mailBody .= "¥n";
    $mailBody .= "ご返信まで~~~~";

    mail($mail, $mailSubject, $mailBody, $mailHeader);

    $printHtml = file_get_contents("./complete.html");
    $echoHtml = str_replace("****replace_onamae****", $name, $printHtml);

    echo $echoHtml;

complete.html

complete.html
<!DOCTYPE html>
<html>
<head>
<meta charset='UTF-8'>
<title>Insert title here</title>
</head>
<body>
****replace_onamae****さん、お問い合わせありがとうございます。
</body>
</html>

終わりに

はい、これで前回作った機能を無くすことなく、PHPファイルとhtmlファイルを分けることが出来るようになりました。
無理やり感があるけれど、今後フレームワークを使ったりしていくので今のところはこんな感じで・・・

さて次は入力チェック系やってみましょう。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

PHP/Laravelで初の新規開発を行ったので利用したライブラリや概念などまとめてみる

概要

独学でちょい勉強して未経験エンジニアとしてスタートで、まだ働き始めて1年経たないですが、初めて新規での開発(バックエンド部分メイン)を担当したのでその感想として、利用したライブラリや概念などを紹介したいと思います。
1ヶ月ちょっととかで大体終わらせる感じだったのであまりライブラリ選定であったり設計にかける時間も
取れない中だったのですが、少しでも参考になればと思います。

Formatなど記述や構造で注意したとこ

ディレクトリ構造

並列でポンポンフォルダ置くことは避けました。
特に名前が2単語3単語のファイルが出てくるときには、ディレクトリでカテゴリ作って
綺麗にできるように工夫しています。特にモデルをlaravel内でのファイル名からの
テーブル名識別に頼らずに積極的にリレーション系列はまとめて下層において分かりやすくしました。
例えばusersテーブルに対する、user_prefilesテーブルだったら

Models----User.php
        |
        |-User----Profile.php

作っているときに「これじゃやっぱわかりづれぇわ」なんてことは山ほどあったのでその度に何回も何回も
ディレクトリ構造変更していました?

Routing

Route::get('/')->name('home')->uses('HomeController');

ルーティングのフォーマットもnameをつけて全て指定したかったので、
nameがパッと見わかりやすいようなフォーマットで統一。

多分、見やすい...タブンネ......?

Relation定義

public function keywords()
{
    return $this->hasMany(Keyword::class);
}

よくStringとしてシングルクオーテーション使って定義しているの見ますけど、
PHPStorm使っている身としてはリレーション定義見たらジャンプして秒速でクラスの確認まで飛べたら嬉しい?
ってことで直接クラスを書いてのリレーション定義しています、この書き方できると知った時は感動しました?

Transformer

モデルめちゃくちゃ使うPHP開発においては
覚えて損はない最強の概念だと思っています、
これを定義したおかげで秒速でコーティングが終わった部分も多く存在します?
私が執筆した記事があるのでよかったらそちらを参照してください。

私の行った開発においてはリスト表示で使いたい配列を返すTransformerと、
詳細表示で使いたい配列を返すTransformerをそれぞれ二つ用意したりしました。
あとUser登録とUser情報編集など複数ページで似たようなデータ扱う兼ね合いもあり、
Request用にもTransformer作ったりしてます。

https://qiita.com/fumifumitaro/items/21bde4e60a908915dde8

scopeクエリ

whereで検索する際nullが混入してしまうと、
うまく検索できなくなるためよくissetでwhereに通さない処理を加えるのをよくみます、
ただあまりにメソッドが冗長になって気持ち悪いのでscopeでカスタムしたwhereを作成しました。

public function scopeCustomWhere($query, string $column, string $param = null)
{
    if (is_null($param) || $param == '') return;

    return $query->where($column, $param);
}

チェーンして繋げることもできるので楽です、traitとしていろんなモデルに入れて、
customWhereとして利用しました。
なんかnull弾いてwhereするメソッドってありそうですけど私が見つけてないんですかね?
にしてもいつまでもいい命名が出来ずに仮置きしたクソネームメソッドのままリリースしてしまった:sob:

使用したライブラリ

マークダウン - SimpleMDE

マークダウンエディタを組み込むときに選んだのがこちらです。
導入がとても簡単ですが、奥が深く内部コードをしっかりと読み込んでカスタマイズしなければ
やや手に余ります。画像の追加機能などをカスタムしました。
ホントはvue.jsに色々あるので先にそちらを導入してみたのですが、
こちらのsimplemdeの場合は普通のhtml上のtextareaを拡張してそのまま利用できるため、
submitしたときtextareaに指定したname属性でsubmitされたり、
取り回しが楽そうなのでこちらに変更しました。

https://simplemde.com/

フォーマッター - Cleave.js

郵便番号や電話番号にハイフンを強制したかったために導入しました。
(入力データの検索かけるときにハイフンなしとありが混在すると面倒、inputのtype="number"などで
数字入力を強制するのもありだと思ったけど個人的にはハイフンありの方がみやすいし入力ユーザー的には
ハイフンが強制された方がいいのかなと。。。)
導入も簡単な上とっても使いやすくて幸せになれました?

https://nosir.github.io/cleave.js/

住所の自動入力 - yubinbango

クラス指定での導入だったためJS知らなくても楽にぶち込めちゃいます!
なんかajaxzipとかわかりづらくてもっと簡単なのないかなぁと思ってまして...笑
特によかったポイントが都道府県をプルダウン形式のセレクトでも
自動で入力する機能が備わっていたこと!
下の方にセレクトの場合とか書いています。
https://www.whizz-tech.co.jp/1843/

https://github.com/yubinbango/yubinbango

ドラッグ&ドロップ - VueDraggable

ドラッグ&ドロップ機能を実装してから、仕事に対する現実逃避に
適当に作った項目の順番を数時間並べ換えていたのはここだけの話です:frowning2:
わかりやすいけどcssとかテーブルで融通が聞かなくてちょっと困った:sweat_smile:
多分私の勉強不足でしょうけど、とりあえずテーブルのヘッドだけ別途で作成したりして誤魔化しました。
vue.jsはstyleにSassが書けるのでデザイン変更したい時もやりやすい!
ちなみにこいつ自体には順番を保持する機能がなさげなのでv-forのindexを
inputしたいデータにうまいことバインドさせてDBまで連れてってあげる必要があります。

https://www.npmjs.com/package/vue-draggable

ちょっとしたUI変更にて使用 element-ui

デザインが結構好み:blush:
ただし、レスポンシブ対応がびみょいので他の選択肢を探した方がいいかもしれない。
私は使いたいcomponentが少しだけだったのでcss軽くいじってflexで誤魔化しました。
使いたかったのがこのtransferと呼ばれる左右にリスト表示させて
選択と非選択をわかりやすく見せるUIを作成したかったために導入、
https://element.eleme.io/#/en-US/component/transfer

https://element.eleme.io/#/en-US

最後に

経験数的にもまだまだ未熟ですしもっと良いライブラリ選定ができたり、
設計技法が使えたろうなぁとは思っています。
他にもライブラリ導入などで開発スピードを上げられた部分や
保守運用を楽にできた場面も数多くあるでしょうし、今後も精進していきます。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Laravel DB.com アップデート「 ER図 →CRUD自動生成ツール&テストデータ 」

Laravel DB.com

「 テストデータ登録 」 までCODEを書かずに作成可能なツールにアップデートされました。

私の開発環境

  • Laravel5.5/PHP7.2.1/MySQL5.6.38 (Mac: Chromeで確認)

LaravelDB.com 操作解説ページはこちらです。

【 Laravel 】CRUD『 表示・登録・更新・削除 』機能をCODEを書かず自動作成
https://qiita.com/daisu_yamazaki/items/3755467b39ef158b81a3


アップデート内容

faker自動生成(テストデータ生成処理)

注意点:テーブル作成後 → テストデータ投入 の順でコマンド打ってください。
seeds_と_views.jpg

ファイルの中はこんな感じです。

TUsersTableSeeder_php_—_test3.jpg
自動で文字が入ってるので、精度はまあこんなもんですかね。※文字列、数値、日付は自動で判定して入れてくれてるようです。


コマンド打って表示して見ましょう!!!!

php artisan migrate  //既にmigrationファイルも設置済みであること

php artisan db:seed  //既にseederファイルも設置済みであること(上記写真を確認)

そして、次の画面はこんな感じ。


LaravelDB.com はじめての人はこちらからどうぞ !!! 慣れると最強ですね。

【 Laravel 】CRUD『 表示・登録・更新・削除 』機能をCODEを書かず自動作成
https://qiita.com/daisu_yamazaki/items/3755467b39ef158b81a3

以上

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

ER図 からCRUD自動生成ツール。テストデータFakerも生成へ【Laravel DB.com 】

Laravel DB.com

「 テストデータ登録 」 までCODEを書かずに作成可能なツールにアップデートされました。

私の開発環境

  • Laravel5.5/PHP7.2.1/MySQL5.6.38 (Mac: Chromeで確認)

LaravelDB.com 操作解説ページはこちらです。

【 Laravel 】CRUD『 表示・登録・更新・削除 』機能をCODEを書かず自動作成
https://qiita.com/daisu_yamazaki/items/3755467b39ef158b81a3


アップデート内容

faker自動生成(テストデータ生成処理)

注意点:テーブル作成後 → テストデータ投入 の順でコマンド打ってください。
seeds_と_views.jpg

ファイルの中はこんな感じです。

TUsersTableSeeder_php_—_test3.jpg
自動で文字が入ってるので、精度はまあこんなもんですかね。※文字列、数値、日付は自動で判定して入れてくれてるようです。


コマンド打って表示して見ましょう!!!!

php artisan migrate  //既にmigrationファイルも設置済みであること

php artisan db:seed  //既にseederファイルも設置済みであること(上記写真を確認)

そして、次の画面はこんな感じ。


LaravelDB.com はじめての人はこちらからどうぞ !!! 慣れると最強ですね。

【 Laravel 】CRUD『 表示・登録・更新・削除 』機能をCODEを書かず自動作成
https://qiita.com/daisu_yamazaki/items/3755467b39ef158b81a3

以上

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

ER図 からCRUD自動生成ツール。テストデータFakerも生成【Laravel DB.com 】

Laravel DB.com

「 テストデータ登録 」 までCODEを書かずに作成可能なツールにアップデートされました。

私の開発環境

  • Laravel5.5/PHP7.2.1/MySQL5.6.38 (Mac: Chromeで確認)

LaravelDB.com 操作解説ページはこちらです。

【 Laravel 】CRUD『 表示・登録・更新・削除 』機能をCODEを書かず自動作成
https://qiita.com/daisu_yamazaki/items/3755467b39ef158b81a3


アップデート内容

faker自動生成(テストデータ生成処理)

注意点:テーブル作成後 → テストデータ投入 の順でコマンド打ってください。
seeds_と_views.jpg

ファイルの中はこんな感じです。

TUsersTableSeeder_php_—_test3.jpg
自動で文字が入ってるので、精度はまあこんなもんですかね。※文字列、数値、日付は自動で判定して入れてくれてるようです。


コマンド打って表示して見ましょう!!!!

php artisan migrate  //既にmigrationファイルも設置済みであること

php artisan db:seed  //既にseederファイルも設置済みであること(上記写真を確認)

そして、次の画面はこんな感じ。


LaravelDB.com はじめての人はこちらからどうぞ !!! 慣れると最強ですね。

【 Laravel 】CRUD『 表示・登録・更新・削除 』機能をCODEを書かず自動作成
https://qiita.com/daisu_yamazaki/items/3755467b39ef158b81a3

以上

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

【 laravel】ER図 からCRUD自動生成ツール。テストデータ生成も追加!【Laravel DB.com 】

2020/01/28最新バージョン:Laravel DB.com

「 テストデータ(faker)登録 」 までCODEを書かずに作成可能なツールにアップデートされました。

私の開発環境

  • Laravel5.5/PHP7.2.1/MySQL5.6.38 (Mac: Chromeで確認)

LaravelDB.com 操作解説ページはこちらです。

【 Laravel 】CRUD『 表示・登録・更新・削除 』機能をCODEを書かず自動作成
https://qiita.com/daisu_yamazaki/items/3755467b39ef158b81a3


アップデート内容

faker自動生成(テストデータ生成処理)

seeds_と_views.jpg

【移行方法】
Macの場合: 「Optionキー + ドラッグ&ドロップ」 → 「結合」でフォルダの上書きではなく、結合になります。
Winの場合: 「ドラッグ&ドロップ」で結合できます。


ファイルの中はこんな感じです。

TUsersTableSeeder_php_—_test3.jpg
自動で文字が入ってるので、精度はまあこんなもんですかね。※文字列、数値、日付は自動で判定して入れてくれてるようです。
Fakerで使えるタイプ一覧、 自身で変更して使いたい場合はこちらを参考にすることをオススメします。

注意点:テーブル作成後 → テストデータ投入 の順でコマンド打ってください。


コマンド打って表示して見ましょう!!!!

php artisan migrate  //既にmigrationファイルも設置済みであること

php artisan db:seed  //既にseederファイルも設置済みであること(上記写真を確認)

<< 注意点 >>

「address」や「url」を使う場合はカラムサイズに気をつけましょう!


ブラウザで確認

そして、次の画面はこんな感じ。


LaravelDB.com はじめての人はこちらからどうぞ !!! 慣れると最強ですね。

【 Laravel 】CRUD『 表示・登録・更新・削除 』機能をCODEを書かず自動作成
https://qiita.com/daisu_yamazaki/items/3755467b39ef158b81a3

以上

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

anyenv下のphpenvを使ってPHPをインストールしてみた

Homebrewでインストールしたanyenvに導入されたphpenvを使ってPHPをインストールしていきます。
割とすんなりと行かなかったので備忘録。
anyenvとphpenvは導入している前提となります。

環境
macOS : Catalina 10.15.2 (zsh)
phpenv : v0.9.0-rc.1
入れるPHP : 7.4.1

早速インストール

コンソール上でコマンドを打ちphpenvでPHPのインストールを試みました。

phpenv install 7.4.1

するとエラーが。

No package 'krb5-gssapi' found
No package 'krb5' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables KERBEROS_CFLAGS
and KERBEROS_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.

必要なパッケージのインストール&パスを通す

PHPのインストールにはいくつか必要なパッケージがあるようで、それが入っていない、またはパスが通っていないとこのようなエラーが出るようです。

今回はkrb5が足りないのでHomebrewよりインストールしてパスを通します。
私はzshを使っていますので.zshrcに書き込みます。
インストールする際に他にもパッケージ不足を指摘されましたら同様の手順でインストールします。

brew install krb5
.zshrc
vim ~/.zshrc

export PATH="/usr/local/opt/krb5/bin:$PATH"
export PATH="/usr/local/opt/krb5/sbin:$PATH"
export PKG_CONFIG_PATH="/usr/local/opt/krb5/lib/pkgconfig:$PKG_CONFIG_PATH"

phpenvのdefault_configure_options設定

設定後にPHPを再度インストールしようとするがまたエラーが出ました。

configure: WARNING: unrecognized options: --with-png-dir, --with-libxml-dir, --with-icu-dir
configure: error: Please reinstall the BZip2 distribution

errorとして、BZip2の再インストールを要求されましたので従いましたが全く同じエラーが出てしまいます。

brew reinstall bzip2

どうもパスが通っていなかったようなので.zshrcにパスを設定しましたがこれだけでは解決せず。
合わせてphpenvのdefault_configure_optionファイルに設定を追記することで解決!
icu4cパッケージも同様のエラーを引き起こしたのでこれも合わせて記述。

.zshrc
vim ~/.zshrc

export PATH="/usr/local/opt/bzip2/bin:$PATH"
export PATH="/usr/local/opt/icu4c/bin:$PATH"
export PATH="/usr/local/opt/icu4c/sbin:$PATH"
export PKG_CONFIG_PATH="/usr/local/opt/icu4c/lib/pkgconfig:$PKG_CONFIG_PATH"
/.anyenv/envs/phpenv/plugins/php-build/share/php-build/default_configure_options
vim default_configure_options

--with-bz2=/usr/local/opt/bzip2
--with-iconv=/usr/local/opt/libiconv

libxmlパッケージが見つからない

必要なパッケージをインストールできたので再度PHPのインストールをします。
でもエラー。。。

warning: unsupported relocation in debug_info section.
note: while processing /private/var/tmp/php-build/source/7.4.1/ext/opcache/.libs/zend_accelerator_util_funcs.o
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: ext/opcache/.libs/opcache.a(shared_alloc_shm.o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: ext/opcache/.libs/opcache.a(shared_alloc_shm.o) has no symbols
/Library/Developer/CommandLineTools/usr/bin/ranlib: file: /var/tmp/php-build/source/7.4.1/modules/opcache.a(shared_alloc_shm.o) has no symbols
/var/tmp/php-build/source/7.4.1/ext/libxml/libxml.c:34:10: fatal error: 'libxml/parser.h' file not found
#include <libxml/parser.h>
         ^~~~~~~~~~~~~~~~~
1 error generated.
make: *** [ext/libxml/libxml.lo] Error 1

libxml/parser.h が読み込めないらしい
でもlibxmlはインストールされているはず。

brew list

(省略)
libxml2

brew listで確認すると、libxml2が入っているので問題がないはずですが。。。
MacOSがCatalinaになったことでusr/includeディレクトリが無くなったことの絡みで上手く認識がされていないようです。
(brewの理解するlibxml2のパスが間違っている?)
下記の記事を参考にenvコマンドとprefixを利用して環境変数を指定しながらインストールすることで上手くいきました!

参考: macOS Catalina(10.15) の Xcode11 だと /usr/include が無い

env CFLAGS="$(xml2-config --cflags)" XML_CFLAGS="$(xml2-config --cflags)" XML_LIBS="$(xml2-config --libs)" phpenv install 7.4.1

[Success]: Built 7.4.1 successfully.

なんとか成功しました!
anyenvで*env各種を一括管理できるのでphpenvを利用しましたがもしかしたらphpbrewの方が楽なのかも。。。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

小中学生向けのプログラミング言語4つまとめ

最近は、小学生からプログラミングを始める時代になってきているそうです。
物事を考える力がつくから~ とかで、義務教育に入るそうですね。
そんな小学生・中学生の人におすすめなプログラミング言語)を紹介します。

Scratch

早速言語じゃないやん!ってね。
サイトはこちら:https://scratch.mit.edu/

GUIで、プログラミングをできるサイトです。
ブロックをつなげて、キャラクターを動かしたりできます。

特徴

他のものと違い、コードを打たないで、ブロックをつなげて作品を作ります。
そのため、始めやすいですが、他の言語に移るのは大変です。

私はあまり好きではありません。

JavaScript

一番おすすめです。

3日くらい勉強サイトを見ていれば、(若いうちは)すぐ頭に入ってくるくらい単純な言語です。

特徴

動かすのが簡単です。

Chromeを使っているなら、「右クリック→検証」か「F12」を押すとデバッグツール が出てきます。
その、「Console」と書いてあるところにコードを入力すると動かせます。

Googleで、「使っているブラウザの名前 デバッガーツール」と検索すれば、デバッガーツールの出し方が書いてあると思うので調べてみてください。

ただし、IEはおすすめしませんので。

HTML

これはプログラミング言語かな?

とりあえず、Webサイトを作るためのマークアップ言語です。
先程書いた「デバッガーツール」を開いてElementsをみると、

<html>
  <body>
    <a></a>
    <p></p>
  </body>
</html>

みたいなコードが出てくると思います。
これがHTMLです。

Webサイトはほぼこれで作られています。

プログラミング言語ではないので、動くものを作るのは大変だと思います。

JavaScriptと組み合わせると、ブラウザゲームも作ることができます。

PHP

これは少し難易度が高いです。
PHPを動かすためには、PHPが動くサーバーが必要です(Windows上でもXamppというソフトを使えば動きます)。

そして、phpファイルにコードを書くと動くのですが、JavaScriptよりも構文(書きかた)が難しいです。

すこし時間を掛けて勉強する必要があります。

特徴

Qiitaのようなサービスを作るにはPHPが必要不可欠です。QiitaはRubyでできています。ご指摘くださった方、ありがとうございます。
マニュアルが日本語でわかりやすいので、すぐに調べることができます。
また、人気プログラミング言語ランキングでも上位に入っているので、仕事の件数も多いです。

おすすめは?

最初はJavaScriptがおすすめです。

人気な言語なので、知恵袋などでもいろいろ答えが転がっています。
安定のJSから始めてはいかがでしょうか?

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

CentOS 7にPHP 7.3をインストール(IUS Community Project)

はじめに

IUS Community Projectを利用してCentOS7にPHP7.3をインストール
親記事:PHP, PHP-FPMの各種インストール方法とEOLまとめ
参考:Usage - IUS

サポート

本手法で導入した場合、PHP: Supported Versions/PHP: Unsupported Branchesより、2021-12-06がEOLになると思われる。
それ以降に報告された脆弱性や不具合への対応は実施されない可能性がある。

LOG

インストール

# cat /etc/redhat-release
CentOS Linux release 7.7.1908 (Core)

# yum install -y https://centos7.iuscommunity.org/ius-release.rpm
... 略

# yum install -y mod_php73 php73-cli which
... 略

各種確認

# which php
/usr/bin/php

# php -v
PHP 7.3.13 (cli) (built: Dec 19 2019 03:21:53) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.13, Copyright (c) 1998-2018 Zend Technologies

# yum info mod_php73
Loaded plugins: fastestmirror, ovl
Loading mirror speeds from cached hostfile
 * base: ty1.mirror.newmediaexpress.com
 * epel: ftp.riken.jp
 * extras: ty1.mirror.newmediaexpress.com
 * updates: ty1.mirror.newmediaexpress.com
Installed Packages
Name        : mod_php73
Arch        : x86_64
Version     : 7.3.13
Release     : 1.el7.ius
Size        : 4.8 M
Repo        : installed
From repo   : ius
Summary     : PHP module for the Apache HTTP Server
URL         : http://www.php.net/
License     : PHP and Zend and BSD and MIT and ASL 1.0 and NCSA
Description : The mod_php73 package contains the module which adds support for the PHP
            : language to Apache HTTP Server.

# yum info php73-cli
Loaded plugins: fastestmirror, ovl
Loading mirror speeds from cached hostfile
 * base: ty1.mirror.newmediaexpress.com
 * epel: ftp.riken.jp
 * extras: ty1.mirror.newmediaexpress.com
 * updates: ty1.mirror.newmediaexpress.com
Installed Packages
Name        : php73-cli
Arch        : x86_64
Version     : 7.3.13
Release     : 1.el7.ius
Size        : 9.8 M
Repo        : installed
From repo   : ius
Summary     : Command-line interface for PHP
URL         : http://www.php.net/
License     : PHP and Zend and BSD and MIT and ASL 1.0 and NCSA and PostgreSQL
Description : The php-cli package contains the command-line interface
            : executing PHP scripts, /usr/bin/php, and the CGI interface.
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

CentOS 7にPHP 7.3をインストール(SCL)

はじめに

Software Collection(SCL)を利用してCentOS7にPHP7.3をインストール
親記事:PHP, PHP-FPMの各種インストール方法とEOLまとめ
参考:Quick Start — Software Collections

サポート

本手法で導入した場合、Red Hat Software Collections Product Life Cycle - Red Hat Customer Portalより、2021-12がEOLだと思われる。
それ以降に報告された脆弱性や不具合への対応は実施されない可能性がある。

LOG

インストール

# cat /etc/redhat-release
CentOS Linux release 7.7.1908 (Core)

# yum install -y centos-release-scl
# yum install -y rh-php73
# scl enable rh-php73 bash
... 略

各種確認

# which php
/opt/rh/rh-php73/root/usr/bin/php

# php -v
PHP 7.3.11 (cli) (built: Dec 10 2019 16:14:50) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.11, Copyright (c) 1998-2018 Zend Technologies

# php -i | grep php.ini
Configuration File (php.ini) Path => /etc/opt/rh/rh-php73
Loaded Configuration File => /etc/opt/rh/rh-php73/php.ini

# rpm -qi rh-php73
Name        : rh-php73
Version     : 1
Release     : 1.el7
Architecture: x86_64
Install Date: Sat Jan 25 04:22:12 2020
Group       : Development/Languages
Size        : 0
License     : GPLv2+
Signature   : RSA/SHA1, Fri Jan 17 13:32:46 2020, Key ID 4eb84e71f2ee9d55
Source RPM  : rh-php73-1-1.el7.src.rpm
Build Date  : Wed Oct 23 07:57:10 2019
Build Host  : c1bj.rdu2.centos.org
Relocations : (not relocatable)
Packager    : CBS <cbs@centos.org>
Vendor      : CentOS
Summary     : Package that installs PHP 7.3
Description :
This is the main package for rh-php73 Software Collection,
that install PHP 7.3 language.
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

プログラミング入門メモ

プログラミング作成から実行までの流れ

  • コンパイラ系言語
    プログラムをコンパイラに渡してコンパイルしてもらう。全行一発で翻訳するため早い。しかし、タイポなどが実行までに分からないデメリットがある。

  • インタプリタ系言語
    プログラムをインタプリタを通して実行する。一行ずつ機械語へ翻訳するため実行速度が遅い。しかし、コーディング中にタイポがわかるメリットがある。

PHP

以下の特徴がある。
* HTML埋め込み型のプログラミング言語
* サーバサイドスクリプト言語
* OSL
* 数多くの機能が装備されている

HTML埋め込み型のプログラミング言語とは?

PHPはHTMLの文書の中に部分的に埋め込んで記述する。動的に表示を変更することができるため、Webアプリケーションの作成に向いていると思われる。

サーバサイドスクリプト言語

PHPはウェブサーバ側で動くためこのように呼ばれる。ウェブサーバはapache

クライアントサイド言語もあるよ

主にJavaScriptがそうです。Webページでの入力値をチェックしたりします。

オープンソース

だれでも無料で使えます。

強力なライブラリ

Web開発に必要なものがほとんどそろっている印象があります。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Moodle 3.8 マニュアル - OPcache

OPcache

訳者注:この記事は PHP5 および Moodle2 の記述もありますので、そこのところは参考にとどめてください。

標準 OPcache extension は強く推奨されます。Moodle 2.6 から、それは PHP 開発者により唯一公式にサポートされているものです。利点はパフォーマンスの向上と圧倒的に少ないメモリ使用率です。しかしながら、opcode キャッシュ extension はsuPHP(デフォルト WHM 上の / cPanel Linux サーバー) などのある共通のタイプの高セキュリティ PHP ハンドラーを使用するように設定されたサーバと互換性がありません。

Opcache_error.png

内容

1 インストール
2 設定
3 Opcache 管理プラグイン
4 関連項目

1 インストール

OPcache エクステンションは 5.5.0 以降から PHP の一部として配布されています。古い安定板 PHP のリリース用には PECL において、オリジナル名である ZendOPcache として入手することも可能です。

注:もしあなたが PHP 5.3 または 5.4 を走らせているのなら OPcache についての環境チェックメッセージを無視しても構いません。しかしながら、オペレーティングシステムおよび PHP を PHP 5.5 以上が入手できるようにアップグレードすることは役に立つでしょう。というのも、あらゆる種類の問題が PHP 5.2 と 5.3 で存在していましたし、PHP をアップグレードすることが簡単な解決策であることがわかったからです。

2 設定

PHP.ini の設定

[opcache]
zend_extension = php_opcache.dll
opcache.enable = 1
opcache.memory_consumption = 128
opcache.max_accelerated_files = 10000
opcache.revalidate_freq = 60

; Required for Moodle
opcache.use_cwd = 1
opcache.validate_timestamps = 1
opcache.save_comments = 1
opcache.enable_file_override = 0

; If something does not work in Moodle
;opcache.revalidate_path = 1 ; May fix problems with include paths
;opcache.mmap_base = 0x20000000 ; (Windows only) fix OPcache crashes with event id 487

; Experimental for Moodle 2.6 and later
;opcache.fast_shutdown = 1
;opcache.enable_cli = 1 ; Speeds up CLI cron
;opcache.load_comments = 0 ; May lower memory use, might not be compatible with add-ons and other apps.

(略)

メモリ使用量

PHP の OPCache エクステンションのレビューから

  • The size of the memory segment can be told using the opcache.memory_consumption INI setting (Megabytes). Size it big, don't hesitate to give space. Never ever run out of shared memory space, if you do, you will lock your processes, we'll get back to that later.

  • Size the shared memory segment according to your needs, don't forget that a production server dedicated to PHP processes may bundle several dozens of Gigabytes of memory, just for PHP. Having a 1Gb shared memory segment (or more) is not uncommon, it will depend on your needs, but if you use a modern application stack, aka framework based, with lots of dependencies etc... , then use at least 1Gb of shared memory.

Having that in mind, set opcache.memory_consumption to a value high enough to avoid filling it up (as long as your RAM usage allows you to), and then monitor the OPCache to adjust that value to its optimal size. As the total size of the PHP files in a standard Moodle 3.6 is almost 90MB, setting this value higher than that can be a good idea. Take into account that the PHP files of the plugins and those on the MoodleData folder (language pack files...) also count, so these values can be different on each installation. If you have several instances of Moodle you should multiply that value by the number of instances.

Tip: If using Linux, you can know the total size of the PHP files of a folder using this command:

find ./ -type f -name "*.php" -printf "%s\n" | gawk -M '{t+=$1}END{print t}' | numfmt --to=iec

max_accelerated_files

From: php.net max-accelerated-files

  • The maximum number of keys (and therefore scripts) in the OPcache hash table. The actual value used will be the first number in the set of prime numbers { 223, 463, 983, 1979, 3907, 7963, 16229, 32531, 65407, 130987 } that is greater than or equal to the configured value. The minimum value is 200. The maximum value is 100000 in PHP < 5.5.6, and 1000000 in later versions.

As Moodle 3.6 contains almost 10.000 php files it is recommended above that opcache.max_accelerated_files should be set to 10000 to accommodate this (16229 will actually be used as per the explanation above). If you have several instances of Moodle you should multiply that value by the number of instances.

If many additional plugins are installed so that your total PHP files exceed 16229 then the next most suitable value for max_accelerated_files should be used. Tip: If using Linux, you can know the total PHP files of your Moodle using this command:

find ./ -type f | grep -E ".*\.php$" | sed -e 's/.*\(\.[a-zA-Z0-9]*\)$/\1/' | sort | uniq -c | sort -n

3 Opcache 管理プラグイン

Opcache management message.png

You may consider installing the additional Opcache management - Moodle plugin which adds a PHP Opcache management GUI to Moodle site administration, a CLI tool to reset PHP Opcache and a Nagios check for PHP Opcache.

Opcache management status.png

4 関連項目

PECL ZendOPcache
(略)

Forum discussions:

OPcache: Memory Usage = 100% (is this good or bad?)
OPCode cache

カテゴリ:管理(翻訳準備中)| 環境(翻訳準備中)| インストール | パフォーマンス(翻訳準備中)

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む