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, アクセス, インフラ, エックス, エンジン, グループ, サーバー, テーマ, ディレクトリ, とき, パスワード, ファイル, プレス, ユーザー, ワード, 付与, 任意, 其れだけ, 再起動, , 周り, 問題, 場合, 変更, 対処, 対応, , 必要, 更新, 記載, 追加, 配下, , 駄目,

現役エンジニアならFizzBuzz問題なんて余裕なのか検証してみたをやってみた?

2021.03.22

Logging

【現役エンジニアならFizzBuzz問題なんて余裕なのか検証してみたをやってみた】、この道、10年選手の自分が解いてみた結果、2つの解になることになりました。でも自分はかなり緊張するタイプなのでこういう場ではなんかミスりそうです。2つの解になる理由は15の時、5の倍数でも3の倍数でもあり15の倍数でもあるからです。これに疑問をもつはずなのですが・・・。皆、言わなかったところが日本人的だなと感じました。因みに自分はこういう疑問を言うタイプです、なので衝突が上と起こるのかなと思います・・・。

尚、自分は3分ぐらいです。コードを書くより誰かに書いてもらいたい(^_^;)、もっとタイピングが早くなれば2分ぐらいで書けると思います?ではおつおつでした。

現役エンジニアならFizzBuzz問題なんて余裕なのか検証してみた
<?php
$ary1 = [];
$check1 = function ($hoge) {
	$str = [];
	if ($hoge % 3 === 0) {
		$str[] = "Fizz($hoge)";
	}
	if ($hoge % 5 === 0) {
		$str[] = "Buzz($hoge)";
	}
	if ($hoge % 15 === 0) {
		$str[] = "FizzBuzz($hoge)";
	}
	if (!count($str)) {
		$str[] = $hoge;
	}
	return implode(",",$str);
};
$ary2 = [];
$check2 = function ($hoge) {
	$str = [];
	if ($hoge % 15 === 0) {
		$str[] = "FizzBuzz($hoge)";
	}elseif($hoge % 5 === 0){
		$str[] = "Buzz($hoge)";
	}elseif($hoge % 3 === 0){
		$str[] = "Fizz($hoge)";
	}
	if (!count($str)) {
		$str[] = $hoge;
	}
	return implode(",",$str);
};
for ($i = 1; $i <= 100; $i++) {
	$ary1[($i-1)] = $check1($i);
	$ary2[($i-1)] = $check2($i);
}
print implode(",", $ary1).PHP_EOL;
print implode(",", $ary2).PHP_EOL;

タグ

, 10, 15, 2, , 5, ary, check, FizzBuzz, function, hog, hoge, if, lt, php, STR, エンジニア, かなり, コード, こと, これ, ダイビング, タイプ, ところ, パス, ミス, りそう, , 余裕, 倍数, 問題, , 日本人, , 検証, 現役, 理由, 疑問, , 結果, 緊張, 自分, 衝突, , 誰か, , 選手,

Javascript? EVENT処理の際に引数を渡す。

2019.04.26

Logging

Javascript? EVENT処理の際に引数を渡す方法。
ちなみにもっと簡略化できます。

//NG
$(function(){
    let hoge = "test";
    $("input[type='text']").on("change",(function(hoge){
        console.log(hoge);
    })(hoge));
});
//OK!
//js
function hoge(a){
    return function(){
        console.log(a +  this.value);
    };
};
document.querySelector('input[type="text"]').addEventListener("click",hoge("aaaaaaa~"),false);
//jq
$(function(){
    let hoge = function(a){
        return function(){
            console.log(a + $(this).val());
        };
    };
    $("input[type='text']").on("change",hoge("test="));
});

タグ

aaaaaaa, addEventListener, change, click, console, document, EVENT, false, fu, function, hoge, input, javascript, jq, JS, let, log, NG, OK, ON, querySelector, return, test, Text, this, type, value, 処理, 引数, 方法, 簡略, ,

PHPでバインドするこれでSQLの脆弱性が!?

2019.02.23

Logging

上記の画像では脆弱性がある。
PHPでバインドするこれでSQLの脆弱性が解決してくれる?
こういう記述すると良さげ。
おまけでSQLデバッグ方法を書いとります

<?php
$sql =<<<SQL
select * from demo where id = :id and namae = :hoge;
SQL;
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
$id = 123;
$hoge = "hoge";
$sth = $dbh->prepare($sql);
$sth->bindValue(':id', $id, PDO::PARAM_INT);
$sth->bindValue(':hoge', $hoge, PDO::PARAM_STR);
$sth->execute();

タグ

$dbh-&gt, dbh, dbname, execute, hoge, host, localhost, lt, MYSQL, PARAM_INT, PARAM_STR, PDO, php, prepare, SQL, SQL select, sth, test,

jQuery独自プラグイン基本サンプル2

2019.01.19

Logging

忘れやすい自分のためにメモとして残しときます。

(function($){
    $.fn.smp = function (options) {
        var config = {
            text:"おいら"
        };
        var cfg = $.extend({}, config, options);
        cfg.text = cfg.text + "のお金";
        return $(this).html(cfg.text);
    };
})(jQuery);
$("#hoge1").smp({text:"ぼく"});
$("#hoge2").smp();

タグ

, 2, cfg, config, extend, fn, function, hoge, html, jquery, options, return, smp, Text, this, var, おいら, お金, サンプル, ため, プラグイン, ぼく, メモ, 基本, 自分,

javascriptを勉強中

2018.12.15

Logging

var a = 3;
var b = 10;
var obj = {
        hoge:function(a){
            a = a + a;
            return a;
        },
        a:a = a && 5,
        b:b = b || 3
    };
console.log(obj.hoge(2));
console.log(obj.a);
console.log(obj.b);

上記のCodeを動かすと仕事と表示されます(笑)、4,5,10と表示されます。
何故そうなったかを考えるとキリがないのでそういうものだと
思ったほうが良いかもしれないです。
説明するとhogeはオブジェクトです。あとは変数とIF文の省略系を
記述しているだけです、実際は=もいらないですが・・・。
わかりやすく自分なりに記載したつもりです。
javascriptライブラリってこういうのが何百行も記載して成り立っていますが
概念はこういう事です。自分は基本的に概念しか覚えないのです。
何故、そうしているか・・・自分が怠惰な人間だからです。
 

タグ

10, 2, , 4,5,10, 5, amp, Code, console, function, hoge, if, javascript, log, obj, return, var, あと, オブジェクト, キリ, つもり, もいら, もの, 上記, 仕事, 勉強, 変数, 実際, , 省略, 自分, 表示, 記載, 記述, 説明,

無名関数、技術初歩垂れ流し。

2017.08.19

Logging


無名関数、技術初歩垂れ流しときます。
わからない人はわからないかもしれませんが、
分かる人にはわかるという・・・何ともそのまま何ですけどね。
無名関数を使うにあたってキーになるのは USEとcall_user_funcかな。
これさえ覚えとくと便利かもしれないなと思います。
習うより慣れよということでソースコード貼っときます。
じぶんの脳内は文字を読んで理解しているタイプではないので
図や絵柄など空間的な感覚でアルゴリズムを覚えています、なので
仕様書とか読んでもあまり頭に入ってくることがないのですね。
それよりかは、トライアンドエラーを繰り返して覚えるか、口頭などで
事細かに説明してもらったほうが、頭に入ってくることが多いです。
 

<?php
//無名関数1
$q = function($s){
    $ss = $s."FF15!!]]";
    return $ss;
};
define("ff",$q("[[ now on sale "));
//var_dump(ff);
//無名関数2
$hoge = ff;
$f = function() use ($hoge){
    return explode(" ",$hoge);
};
//var_dump($f());
//無名関数3
function mumei(){
    $m = 2222;
    $d = 22;
    return function() use ($m,$d){
      $a = $m * $d;
      return $a;
    };
}
$a = mumei();
//var_dump($a());
//無名関数4
if(is_array($s =
    call_user_func(function(){
        $r = [];
        for($i=0;$i<10;$i++){
            $r[$i] = $i;
        }
        return $r;
    })
)){
    //var_dump($s);
}
print(implode("<br>",explode("\n",'
string(23) "[[ now on sale FF15!!]]"
array(5) {
  [0]=>
  string(2) "[["
  [1]=>
  string(3) "now"
  [2]=>
  string(2) "on"
  [3]=>
  string(4) "sale"
  [4]=>
  string(8) "FF15!!]]"
}
int(48884)
array(10) {
  [0]=>
  int(0)
  [1]=>
  int(1)
  [2]=>
  int(2)
  [3]=>
  int(3)
  [4]=>
  int(4)
  [5]=>
  int(5)
  [6]=>
  int(6)
  [7]=>
  int(7)
  [8]=>
  int(8)
  [9]=>
  int(9)
}
')));

タグ

$i&lt, AM, array, br&gt, call_user_func, function mumei, hoge, implode, int, now on sale FF15, return explode, return function, string, var_dump, アルゴリズム, トライアンドエラー, 仕様書, 技術初歩垂れ流し, 無名関数,

C#SFTPでダウンロードするプログラムの作り方。

2016.12.06

Logging


C#SFTPでダウンロードするプログラムの作り方。
いろいろ調べた結果、こんだけのコードでSFTPでダウンロードする事が
判明。タダシ!!ライブラリが必要なので下記のリンクからTamir.SharpSSH.dll
のライブラリを参照してあげてください。そうすることでSFTPのダウンロードが
可能になります。FTPでの接続方法とかは結構出回っていますが、SFTPの接続プログラムって
あまり落ちてません。ちなみに、その他のライブラリを使う方法にWinSCPのライブラリを
使う方法やSSH.Netのライブラリを使う方法があります。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Tamir.SharpSsh;
namespace ftp
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void button1_Click(object sender, EventArgs e)
        {
            Sftp sftp = new Sftp("192.168.11.1", "id", "pass");
            sftp.Connect();
            sftp.Get("/www/html/hoge.mp4", "C:\\Users\\hoge\\Documents\\hoge.mp4");
            sftp.Close();
            MessageBox.Show("キタ━━━━(゚∀゚)━━━━!!");
        }
    }
}

https://ja.osdn.net/projects/sfnet_sharpssh/downloads/SharpSSH/1.1.1.13/SharpSSH-1.1.1.13.bin.zip/

タグ

Collections.Generic, Documents, Form, FTP, hoge, InitializeComponent, object sender, quot, SFTP, Sftp sftp, sftp.Close, System.Text, users, using, using System.ComponentModel, using System.Drawing, using System.Linq, using System.Threading.Tasks, WinSCP, タダシ,

これを使うと面白いことが出来る出来そう。file_get_contents('php://input');

2016.05.07

Logging


これを使うと面白いことが出来る出来そう。
file_get_contents(‘php://input’);を使用すると面白いことが
PHPで出来るかもしれない。
file_get_contents(‘php://input’);って何かというとPOSTしたデータの
生データを取ってくるというものです。
ちなみに最近LINE BOTを作っている人のソースコードを
見て知りました。
生データではなくPOSTのデータを
取りたい場合は下記のように記述することで
ガガッとデータを取ることも出来ますよ。

    $hoge = array();
    foreach ($_POST as $key => $value) {
        $hoge[$key] = $value;
    }

また、巷ではチャットBOTが流行中ですけど
正直なところ、あまり興味がわかないです。
プログラムの記述はやはりAPIなので
最終的に投げたり、返ってきたデータを
ゴニョゴニョ…(ノ゚д゚(; ̄Д ̄)したりするという
物なので・・・。
出来たら自分の場合、飽きちゃうですよね。
APIでも難しそうな人工知能APIも
基本的には同じ原理かなと思ってますが
ハードルが少し高いですね。
そんなのより、実はmailとShell+PHPで
ゴニョゴニョ…(ノ゚д゚(; ̄Д ̄)するのが
なんだか楽しいかもと思ってます。
mailで投げたらTwitterに投稿するとか、
mailでキーワード投げたら検索結果が返ってくるとか、
そういう何とも無駄なものを作りたい欲求が
高まってます。
 
 

タグ

$_POST as, AM, file_get_contents, foreach, hoge, input, key, LINE BOT, mail, php, value, ガガッとデータ, ゴニョゴニョ, ソースコード, チャットBOT, ハードル, 人工知能API, 生データ, 面白いこと,

phpでXMLファイルのデータを取得し、配列に変換する方法

2016.03.06

Logging

$hoge = simplexml_load_file($xml);
$res = get_object_vars($hoge);

phpでXMLファイルのデータを取得し、配列に変換する方法は
上記の方法でOKです。
foreachで流し込むよりこちらの方が
断然楽ですね。この方法を知らない時は
わざわざforeachを使って配列に流し込んでいました。
こんな便利な関数があるなんて知らなかった。
PHPって結構べんりな関数が用意されているなと
思います。ちなみにこの頃、覚えたプログラム用語は
トレイトです。

トレイトは、PHP のような単一継承言語でコードを再利用するための仕組みのひとつです。 トレイトは、単一継承の制約を減らすために作られたもので、 いくつかのメソッド群を異なるクラス階層にある独立したクラスで再利用できるようにします。

PHPリファレンス引用
いろいろと知らないことだらけです。
奥が深い、すべての関数を覚えるのは
至難の業ですけど、こんな関数が用意されているなど
と覚えていたら良いかもしれませんね。

タグ

AM, B00DIM63US, hoge, PHPリファレンス引用, simplexml_load_file, XMLファイル, クラス階層, データ, トレイト, プログラム用語, べんりな関数, メソッド群, わざわざforeach, 単一継承, 単一継承言語, 方法, 独習PHP, 配列, 関数,

PHP 型の変換 – javaぽっい書き方で型キャストが出来ちゃう(`・ω・´)

2016.02.21

Logging


PHP 型の変換 – javaぽっい書き方で型キャストが出来ちゃう(`・ω・´)
こういう書き方なんか、カッコイイななんて的な書き方で
尚且つ、覚えやすい。int型やstring型などに変換する
関数もあるのですが、こちらの書き方を覚えておいたほうが
楽かなと自分は思っています。
PHPで開発する人達は
こちらを使っている人のほうが多そうな
気がします。多言語にまたがって開発する場合は
こちらの方がわかりやすいのかなとも
感じます。いろいろと言語をまたがると
書き方や構文に悩まされたりします。
完璧に覚えている方なら
全然だと思いますが、自分みたいな
軽く覚えているタイプは多言語にまたがると
構文ミスなどで時間をロスしてしまいます。
型キャスト例

<?php
//bool,unset,array,object等など 型キャスト可能。
$re = (int)$hoge;
$re2 = (string)$hoge;
?>

タグ

$re2, , AM, bool, hoge, int, javaぽっい書き方, object, PHPプログラミング教室, string, unset, キャスト, キャスト例, 変換, 多言語, 楽かなと自分, 構文, 構文ミス, 短期集中講座, 関数,

(´ι _` )アッそうなんだそうなんだPHP fileメソッド

2015.11.09

Logging


PHPのfileメソッドっていうのが便利です。
ファイルを配列として引っこ抜いてくれる。こんな関数便利だなと
おそらく他の言語でも常識的にある関数なんだろうけど
自分はあまり知らなかったので便利だなと。
もうひとつ便利な関数は配列の中に空の値があったりすると
その配列を削除してくれるarray_filterとかいうものです。
これは便利・・・何故かってPHP、配列の中が空でも
値があるよって判断するです。そういう時に少し便利です。
emptyは使えないので・・・。もし配列が空でも必要な場合は
strlenとかでバイト数を数えるなどで対応するしか無いですね。
そういう事でメモがてらに残しときます。

$hoge = file("hoge.txt");
for($i=0;$i<sizeof($hoge);$i++){
echo hoge[$i]."<br>\n";
}
print($hoge);
$hoge2 = array_filter($hoge);
print($hoge2);

タグ

0, 2, array, br, echo, empty, file, filter, For, gt, hoge, lt, php, print, sizeof, strlen, txt, アッ, これ, バイド, ファイル, メソッド, メモ, もうひとつ, もの, , , , 便利, , 判断, 削除, 場合, 対応, 少し, 必要, , , 自分, 言語, 配列, 関数,

phpにはstdclassってものが有るだってさ。おそらくjavaにはないよ。

2015.08.25

Logging


phpにはstdclassってものが有る。使い方は下記の通り

$hoge = new stdclass();
$hoge->name = "(~.~)";
echo $hoge->name;

このstdclassってのは普通ならクラスの記述を書かないといけないのだけど、これはPHPの依存のクラスを使用して記述することが出来るらしい。スタンドクラス・・・、ジョジョかよと思いたくなるPHP記述ですね(((((;゚Д゚)))))。スコープとかなら、PHP以外の言語でも有ると思うけど、stdclass(スタンドクラス)は、最近、はじめて知りました。他にもつい最近、知ったPHPの記述方法とかもあります、他の言語でも同じような記述ができるか試してみたいです。この頃、全然 Javaとか触っていないしC系の言語も触っていないのが現状ですと言ってもそちらの言語ができるのかと言えば、う?んと言う回答ですけどね。あとSQLも勉強しなくちゃなと思うこの頃です。

タグ

, AM, echo, hoge, java, name, new stdclass, php, PHP以外, SQL, stdclass, ジョジョ, スコープ, スタンドクラス, 下記, 使い方, 依存, 現状, 言語, 記述, 記述方法, 通り,

使わないうちに書き方が変わっていましたMySQL。

2015.05.10

Logging


MySQLなんて全然、PHPで呼び出すコードをココ数年書かなくても何も困ること無く生きてきた自分です。その間にもPHPのバージョンが更新されていました。最近使わなかったMySQLでも触ってみようかなとググると目から鱗!!。いつの間にか書き方が微妙に変わってましてDBに接続したりクエリを呼び出したりするのが何だか前より楽になっているような気がします。前のことを殆ど忘れてしまったのでどうこう言えないのですが、何だかこの書き方は覚えやすいなと思います。ちなみに自分はいろいろと浅く広くいろいろな言語に手を出しているので・・・これと言って超強みはないのですが、DB周りは本当に触る機会がなくてあんまり無いですが、DBを使ったものをなにか作りたいなと思っています。
 

function selctsql(){
	$mysqli = new mysqli("host","user","pass","DBname");
	if ($mysqli->connect_error){
	  print("接続失敗:" . $mysqli->connect_error);
	  exit();
	}
	$result = $mysqli->query("SELECT * FROM test ORDER BY id DESC");
	if($result){
	  //1行ずつ取り出し
	  while($row = $result->fetch_object()){
		//エスケープして表示
		$hoge[0] = $row->qur1;
		$hoge[1] = $row->qur2;
	  }
	}
	return $hoge;
}

タグ

AM, connect_error, dbname, exit, fetch_object, FROM test ORDER BY id DESC, function selctsql, hoge, mysqli, new mysqli, query, qur1, qur2, result, return, row, select, クエリ, バージョン, 接続失敗, 書き方,

#プログラムサンプル ブログパーツは検索して出てくるのでうっぷします。

2015.03.11

Logging


ブログパーツの簡素な仕組みをUPします。基本はこれだけです。基本はこれだけですけど応用すると少々面倒くさいのでそこら辺はご想像におまかせします。これを基にして正規に配布する状態にするには、サーバの負荷の事やセキュリティとかそういう事まで考えなくてはならないので少々面倒くさいです。特にIDを発行して配布する場合などは結構、コードを書かないといけないです。また、悪意のあるユーザーがサーバに負荷をかけれる要因にもなりますので、安易にブログパーツを提供するのはオススメできません。ちなみに自分のブログパーツ用のJSを貼り付けても動作はしません(ファイルがないので)。ただ、下記のサンプルコードを自分自身のサーバ上に設置し、設置したURL(任意のURL)をJSで呼び出すと動作し、それを配布することも可能です。
PHPファイル

<?php
header("Content-type: application/javascript");
$str = htmlspecialchars($_GET["hoge"]);
if($str!=""){
	echo "document.write($str);";
}else{
	echo "document.write('hoge!?');";
}
?>

JS貼付け用。

<script src="https://zip358.com/tool/sample-tool/sample-blogtool.php?hoge='こんにちは'" language="JavaScript" charset="utf-8"></script>

タグ

AM, charset, Content-type, document.write, echo, header, hoge, htmlspecialchars, javascript, JS貼付け用, script src, script&gt, STR, utf-8, これだけ, ご想像, サーバ, セキュリティ, そこら辺, プログラムサンプル ブログパーツ, 負荷,

トイウコトデ、めげないでブログ続けることにしました。

2015.02.15

Logging

Private Sub UserForm_Initialize()
    Dim WSH, OExec As Object
    Dim s_Cmd As String
    Dim hoge As String
    Set WSH = CreateObject("WScript.Shell")
    s_Cmd = "ipconfig"
    Set OExec = WSH.Exec("%ComSpec% /c " & s_Cmd)
    hoge = OExec.StdOut.ReadAll
    ipecho.Caption = hoge
    Set OExec = Nothing
    Set WSH = Nothing
End Sub

タグ

%ComSpec%, As String, C++, CreateObject, Dim hoge As String, Dim s_Cmd, Dim WSH, hoge, ipconfig, ipecho.Caption, Nothing, Nothing End Sub, OExec As Object, OExec.StdOut.ReadAll, Private Sub UserForm_Initialize, s_Cmd, Set OExec, Set WSH, WScript.Shell, WSH.Exec,