WPでWeb サーバーにアクセスする必要がありますの対処編:インフラ周り。

2022.07.03

Logging

おはようございます。WP(ワードプレス)でテーマや更新の際にFTPやSFTPのパスワードを求められたときの対処を記載します。この問題はApacheサーバーでもエンジンエックス(Nginx)でも対応は同じです。巷ではApacheグループに任意のユーザー名を付与しなさいという記載がありますが、其れだけでは駄目な場合があるのです。

gpasswd -a [ユーザー名] [グループに追加したいユーザー名]
gpasswd -a hoge apache

なので、phpのphp-fpm.dのディレクトリ配下にあるwww.confファイルの記載(user名とグループ名)を変更してあげる必要があります。変更後、php-fpmとhttpdを再起動してあげてください。

sudo vi /etc/php-fpm.d/www.conf
sudo systemctl restart php-fpm
sudo systemctl restart httpd

そうすれば、「Web サーバーにアクセスする必要があります」というような文言は非表示なり問題なく動作すると思います。

タグ

A`, Apache, conf, etc, FTP, gpasswd, hoge, httpd, nginx, php, php-fpm, restart, SFTP, sudo, System, systemctl, user, vI, web, wp, www, アクセス, インフラ, エックス, エンジン, グループ, サーバー, テーマ, ディレクトリ, とき, パスワード, ファイル, プレス, ユーザー, ワード, 付与, 任意, 其れだけ, 再起動, , 周り, 問題, 場合, 変更, 対処, 対応, , 必要, 更新, 記載, 追加, 配下, , 駄目,

サーバーを移行しました、行き着く先はここだった。

2022.06.14

Logging

おはようございます。先日、一日もかけてサーバーサイドを某サーバーに移行しました。移行しましたがまだ不具合などが存在しているのです。例えば「更新に失敗しました。 返答が正しい JSON レスポンスではありません。」などと頻度に表示されます。

ここらへんを早急に対応したいと思っています。

お待ち下さい~。

因みにPHPのバージョンは8にアップデートしました。そしてエンジンエックスからApacheに土台を変えました。今回、エンジンエックスを数ヶ月使用してApacheサーバの方がやはり歴史が長いので、かゆいところに手が届く仕様になっていることに気づきました。

タグ

8, Apache, json, php, アップデート, エックス, エンジン, ここ, ここら, こと, サーバ, サーバー, ところ, バージョン, べん, レスポンス, , 不具合, 今回, 仕様, 使用, , 先日, 土台, 失敗, 存在, 対応, , , , 更新, 歴史, 移行, 表示, 返答, 頻度,

そろそろPHPのバージョン引き上げしないと駄目。WPの話。

2022.06.09

Logging

おはようございます。お腹が痛くなるとそれが一週間ほど続いたりします😭。

今日のタイトルは「自分のサーバーのPHPバージョンをアップさせない駄目。WPの話」です。いつの間にかWordPressのバージョンが6になりましたよね。いまの推奨環境ではPHP7.4以上になっています。ワードプレスのロードマップがどうなっているかは知りませんが、そのうちPHP7.4は非推奨になり何れ動作しなくなることは目に見えているので、近々、PHPのバージョンアップを行いたいと思います。

その際はサーバーを停止することもあるので、表示されないという事象が起こる可能性があります。

尚、cgi-binを使用して動かすようになると思います。エンジンエックスでcgi-binを使用するのは初めてですので、長い間、サーバーが不安定な状態になるかもしれません。

タグ

6, 7.4, cgi-bin, php, WordPress, wp, アップ, いま, うち, エックス, エンジン, お腹, こと, サーバー, それ, タイトル, バージョン, プレス, マップ, ロード, ワード, , 不安定, 事象, 今日, 何れ, 使用, 停止, 初めて, 動作, 可能性, 推奨, 状態, 環境, , 自分, 表示, , , , 駄目,

よもやよもやだ、アンリアルエンジン、凄いわ。これ!

2022.05.23

Logging

おはようございます。月曜日の朝は鬱っぽい…。

前にも少し書いたことがあるかも知れませんがアンリアルエンジンが凄いことになっています。アンリアルエンジンが何者か分からない人のために説明すると、ゲームの背景など基礎部分=土台が作れるツールになります。これを使用することにより簡単に言えば開発コストが軽減します。

Ninety Days in Unreal Engine 5

動画を見ていただければ分かる通り現実に近い映像です。数十年前は2Dだったものが数十年後の時を経てリアルな3D空間が作れるようになりました。技術革新って凄いなって改めて思います。

因みに今の子供達は自分で物語や創造的な物が作れる能力があれば良いのではないかなって思っています。何故なら今の子供達が大人になる頃には粘土細工で物を作ると同じような感覚でリアリティな空間などがデジタルに生成できるようになってしまう、そんな世の中になると思っているのでIT技術力なんか要らないものになるのかもしれないなって・・・。

いやー本当に日進月歩だな。

タグ

2, , IT, アン, エンジン, ゲーム, コスト, こと, これ, ため, ツール, デジタル, もの, リアリティ, リアル, , , , , 何者, 使用, 動画, 土台, 基礎, 大人, 子供, 少し, 感覚, 技術力, 技術革新, 数十, 映像, , 月曜日, , , 物語, 現実, 生成, 空間, 簡単, 粘土細工, 背景, 能力, 自分, 説明, 軽減, 通り, 部分, 開発, , ,

今年のブログ合計収入はどれぐらいあったのか、ご報告です。

2021.12.22

Logging

塵も積もれば山となるという言葉が身にしみます。このサイトでのブログ収入の合計金額はお高い専門書が一冊買えるぐらいの金額です、ですがGさんの振り込み金額には達していません。このまま、同じような収益状態だと再来年あたりに自分の口座に振り込まれるだろうなと思います。

ブログで生活出来る人やショッピングサイトなどで生活出来る人これは才能です?。普通の人には出来ません、特に今からはじめて生活出来るレベルまでに到達できる人は凄いなと思います。それぐらい今は難しくなっています、広告も打たずにサイトの情報だけで毎日、1万ビューのアクセスがあるサイトは凄腕だと思います、それは凄くレアな情報かとても価値のあるサイトを発信しているサイトだと検索エンジンからお墨付きを得たことになるからです。

昔はサイト数がそれ程多くなかったので、SEO対策をすれば何とかなった時代でしたが、今は、生半可なSEO対策ではアクセス数は伸びません。競合も多いので中々、大変です。

ブログやショッピングサイトを立ち上げてもクリックされない購入されないというサイトのほうが大半です?、特にショッピングサイトは無謀だと思います、自分で宣伝もしないで物は売れない時代です。だから、ソーシャルを駆使して皆、営業をしているわけですね。それでも売れない時代です、これから先、ブログやショッピングサイトで一発当てようとしている人達に自分がアドバイスを送るとしたら諦めなさいと・・・。

ちょっと脱線、これから先は個の時代になります、個の時代はとても大変な時代だと自分は思っています、今までの働き方は徐々に企業の都合のよいシステムに置き換わっていきます。個の時代はイコール、能力主義の時代だと思っていて能力がなかれば切り捨てられる時代になると思います。なので、若い世代の方はかなり大変な時代を生きていかないといけなくなると思っています。誰かがこの国は一億総貧困社会などと言ったようにこれから先、中々、厳しい社会になっていくと思います。

若者100人と衆院選挙の夜に考える「格差を解決する方法」【選挙ステーション2021】【これで未来は大丈夫?】

これから先は日本だけでは生きていけなくなるので、海外で働く日本人も増えていくと思います、日本は外国人を雇う側から、外国人に雇われる側に変わっていくと思います。なので、これから先、英語が話せない人は中々、大変な時代になると思います。

広告収益の話から今後の日本の話まで飛躍しましたが、これから先、ネットで競争し合うよりニッチな市場を見つけて戦うほうが余程良いと思います。中々、大変な時代ですよ?!

タグ

, SEO, アクセス, エンジン, お墨付き, こと, このまま, これ, ご報告, サイト, ショッピング, それ, それぐらい, どれぐらい, ビュー, ブログ, レア, レベル, , , 中々, , , 今年, 価値, 再来年, 凄腕, 到達, 収入, 収益, 口座, 合計, , 対策, 専門書, , 広告, 情報, 才能, , 時代, 普通, 検索, 毎日, 状態, 生半可, 生活, 発信, 競合, 自分, 言葉, , 金額,

悟空を題材したゲームが凄いリアル。

2020.09.14

Logging

悟空(Black Myth: WuKong)を題材したゲームが凄いリアルです。下記の動画を見ていただければお分かりの通りかなりリアリティのあるゲームに仕上がっていると思います。ちなみにPS5から発売されるらしいです、なので恐らくですが次期XBOXでも発売されるのではないかなと思います。

Black Myth: Wukong – Official 13 Minutes Gameplay Trailer

これが次世代ゲーム機のエンジンの凄さなんだなぁと思います。自分はファミコン世代の2Dからいまの3Dまで遊んできているわけなんだけど、ファミコンが登場した時代にこんなにもゲームが進化するなんて夢にも思わなかったし、想像もできなかったと思ってます。

いや、ほんと凄いですよ。これからPS5や次世代XBOXから発売されるゲームは本当にリアリティのあるゲームが多いのが驚く。

タグ

2, , 5, Black, Myth, PS, WuKong, XBox, いま, エンジン, お分かり, かなり, ゲーム, ゲーム機, これ, ファミコン, ほんと, リアリティ, リアル, わけ, 下記, 世代, 動画, 悟空, 想像, 時代, 本当, 次世代, 次期, 発売, 登場, 自分, 通り, 進化, 題材,

全米がハナで笑ったイチゼロシステムのリアルタイムレーシングの解説が分かりやすい。

2020.08.27

Logging

全米がハナで笑ったイチゼロシステムのリアルタイムレイトレーシングの解説が分かりやすいです、分かりやすいけれどそれなり情報処理やPCのことを理解している人にとってはという事が前提条件としてつきます。

【解説】プレステ5仮想世界に突入!(Unreal Engine5)

これを聞いた限りではPS5は買いだなと思っています。そしてUnreal Engine(アンリアルエンジン)を触っておいて損はなさそうです。じぶんも何か作りたいなと言う気分に動画を見ていて思っています。

ちなみに動画の解説にもありますが、アンリアルエンジンは誰でも無料で制作できる、そしてリアルタイムレイトレーシング対応のビデオボードだったら、そちらの再現も可能みたいですね。そしてもうひとつ、SSDのことにも触れていた転送速度の爆速のSSDの話ですが、M.2 SSDですが新しいマザーボードでは対応しているものもあると思います。ちなみに自分のマザーボードにはついてました。

タグ

2, 5, Engine, PC, PS, SSD, Unreal, アン, いち, エンジン, こと, これ, システム, じぶん, ゼロ, そちら, それなり, ハナ, ビデオ, ボード, マザーボード, もうひとつ, もの, リアル, リアルタイム, レーシング, レイトレーシング, , , 全米, 再現, 制作, 前提, 動画, 可能, 対応, 情報処理, , 条件, 気分, 無料, 爆速, 理解, 自分, 解説, , , 買い, 転送, 速度, 限り,

PHP7でTwigを使う。

2020.05.10

Logging

Twigとは小枝であり、PHPのテンプレートエンジンであります。テンプレートエンジンが何なのかはぐぐってください。ここでは割愛します。

Twig3.x(3系)、Dumpの表示の仕方が書かれていないのでそれを記載します。記載方法は下記になります。特に記載方法が変わったのはデバッグの時の記述方法です、最初、デバッグ方法をググっていたのですが、全然上手くいかずエラーばかりはいていました。※Twig2系の情報が結構ヒットします。

require_once '/vendor/autoload.php';
$loader = new \Twig\Loader\FilesystemLoader('テンプレートの階層を指定');
$twig = new \Twig\Environment($loader,['debug' => true]);
$twig->addExtension(new \Twig\Extension\DebugExtension());//?ここの記述を忘れずに!!
echo $twig->render('index.html(レンダーするテンプレートファイル)', ['items'=>$this->top_view()]);

結局、公式ページのドキュメントにデバッグ方法が書かれていたのですが、それにたどり着くまで、小一時間ぐらいWEBの荒野をさまよっていました。最初からドキュメントを見ろよという教訓を得たのですが、結構ググる方を優先してしまう自分がいます。実際はドキュメントの中で検索するのが一番なのかもなと。皆さんが使用するようなエンジンはドキュメントを見るほうが良いと今回、痛感しました。これからはドキュメントを見るようにします。

https://twig.symfony.com/doc/3.x/functions/dump.html

タグ

2, , 39, 7, addExtension, autoload, debug, dump, Environment, FilesystemLoader, gt, loader, new, once, php, require, true, Twig, vendor, エラー, エンジン, ここ, それ, デバッグ, テンプレート, ヒット, 下記, 仕方, , 割愛, 小枝, 情報, 指定, 方法, , 最初, 表示, 記載, 記述, 階層,

WEBお問い合わせフォームのお値段はいったい幾ら?

2020.01.17

Logging

WEBお問い合わせフォームのお値段はいったい幾らなのか?
堀江貴文氏はデジタルの値段は限りなくゼロに近くなると言っていたけど、無料のWEB申し込みフォームやお問い合わせフォームはある。自分もお問い合わせフォームの簡易的な物を作ってみましたのでファイルをアップしますね。

テンプレートエンジンとしてtwig3.0を使用しています、そのため動作環境はPHP7.2以上になります。ソースコードの可変は行って構いません、またこのソースコードの動作保証などは致しません。WEB担当者様が確認を行いバグ等があれば修正を行ってください。

尚、Composerでtwigをインストール済みという事が前提となります。また送信部分やエラー処理についてはご自身で機能の追加が必要となります。


サンプルページ
https://zip358.com/tool/request/

<!DOCTYPE html>
<html lang="ja">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>お問い合わせ</title>
    <script src="https://code.jquery.com/jquery-3.4.1.min.js"
        integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script>
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css"
        integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">
    <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js"
        integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo"
        crossorigin="anonymous"></script>
    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"
        integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6"
        crossorigin="anonymous"></script>
    <script src="js/common.js"></script>
    <style>
        .jumbotron {
            background-color: #2bd4d0;
            color: #fff;
        }

        .btn-primary {
            color: #fff;
            background-color: #2bd4d0 !important;
            border-color: #2bd4d0 !important;
        }

        .input-group-text {
            background-color: #2bd4d0;
            border: 1px solid #2bd4d0;
        }
    </style>
</head>

<body>
    <div class="jumbotron jumbotron-fluid">
        <div class="container">
            <h1 class="display-4">お問い合わせ</h1>
            <p class="lead">必須項目を入力し送信ボタンを押してください。<br>DEMOのため送信はできません</p>
        </div>
        <div class="alert alert-warning" id="error_sendmail" role="alert">
        </div>
    </div>
    <form action="index.php" method="POST">
        <div class="container">
            <div class="row">
                <div class="input-group mb-3">
                    <div class="input-group-prepend">
                        <span class="input-group-text">お名前[必須]</span>
                    </div>
                    <input type="text" name="name" class="form-control" id="name" placeholder="name" value="{{name}}">
                </div>
                <div class="alert alert-warning" id="error_name" role="alert">
                </div>
                <div class="input-group mb-3">
                    <div class="input-group-prepend">
                        <span class="input-group-text">メールアドレス[必須]</span>
                    </div>
                    <input type="email" name="email" class="form-control" id="email" placeholder="name@example.com"
                        value="{{email}}">
                </div>
                <div class="alert alert-warning" id="error_email" role="alert">
                </div>
                <div class="input-group mb-3">
                    <div class="input-group-prepend">
                        <span class="input-group-text" id="basic-addon1">@</span>
                    </div>
                    <input type="text" name="twitter_account" class="form-control" placeholder="twitter account"
                        aria-label="twitter account" aria-describedby="basic-addon1" value="{{twitter_account}}">
                </div>
                <div class="input-group mb-3">
                    <div class="input-group-prepend">
                        <span class="input-group-text">お問い合わせ内容[必須]</span>
                    </div>
                    <select name="meun" class="form-control" id="exampleFormControlSelect1">
                        {% for selectop in meun_option %}
                        <option value="{{selectop.value}}" {{ selectop.value == selectoped ? " selected":"" }}>
                            {{selectop.name}}</option>
                        {% endfor %}
                    </select>
                </div>
                <div class="alert alert-warning" id="error_meun" role="alert">
                </div>
                <div class="input-group">
                    <div class="input-group-prepend">
                        <span class="input-group-text">コメント[必須]</span>
                    </div>
                    <textarea name="comment" rows="10" class="form-control" aria-label="コメント">{{comment}}</textarea>
                </div>
            </div>
            <div class="row">
                <footer class="blockquote-footer">
                    <small class="text-muted">
                        ご自由に記入ください。
                    </small>
                </footer>
            </div>
            <div class="alert alert-warning" id="error_comment" role="alert">
            </div>
            <button type="submit" class="mt-2 btn btn-primary btn-lg btn-block">送信する</button>
        </div>
    </form>
</body>

</html>
<?php
session_start();
require __DIR__ . '/vendor/autoload.php';
use Twig\Environment;
use Twig\Loader\FilesystemLoader;

$loader = new FilesystemLoader(__DIR__.'/templates');
$twig = new Environment($loader);
$meun_option = json_decode(file_get_contents("js/select.json"));

$form = ["name","email","twitter_account","meun","comment"];
$data = [];

if($_POST){
	foreach($_POST as $key=>$val){
		$_SESSION[$key] = strip_tags($val);
	}
}
if($_SESSION){
	foreach($_SESSION as $key=>$val){
		$_SESSION[$key] = strip_tags($val);
	}
}

foreach($form as $key => $val){
	$data[$val] = $_SESSION[$val]?$_SESSION[$val]:"";
}

extract($data);

print $twig->render('index.html.twig',["name"=>$name,"email"=>$email,"twitter_account"=>$twitter_account,"selectoped"=>$meun,"comment" => $comment,"meun_option"=>$meun_option]);

タグ

3.0, 358, 7.2, com, Composer, DOCTYPE, gt, html, https, lt, php, request, tool, Twig, web, www, zip, アップ, インストール, エラー, エンジン, お問い合わせ, コード, ご自身, サンプル, ゼロ, ソース, ため, デジタル, テンプレート, バグ, ファイル, フォーム, ページ, , 使用, 保証, 修正, 値段, 処理, 前提, 動作, 堀江貴文, 幾ら, 必要, 担当者, 機能, 無料, , 環境, 確認, 簡易的, 自分, 追加, 送信, 部分,

全ての定義済の変数を配列で返す

2019.03.16

Logging

全ての定義済の変数を配列で返す関数です。
全てなのでとってきて欲しくないものまでも取ってきます。
なのでそういうのはunsetします。
ちなみに似たようなのでcompactという関数がPHPには存在します。
何に使用する場合に便利かは人それぞれ違いますが
自分の場合はテンプレートエンジンを使用するときに重宝してます。
テンプレートエンジン・・・TwigやSmartyなど

<?php
$a = "abc";
$b = array(1,2,3);
$c = 123;
$vars = get_defined_vars();
unset($_COOKIE);
unset($_POST);
unset($_GET);
unset($_FILES);
unset($GLOBALS);
foreach ($vars as $key => $value) {
    var_dump($key);
    var_dump($value);
}
//...
var_dump($vars);

 

タグ

, 2, , ABC, array, as, compact, COOKIE, defined, dump, files, foreach, GET, GLOBALS, gt, key, lt, php, POST, Smarty, Twig, unset, value, var, vars, エンジン, それぞれ, テンプレート, とき, もの, , , 使用, 便利, 全て, 場合, 変数, 存在, 定義, 自分, 配列, 重宝, 関数,