PHP

/etc/php.ini を書き換えて httpd をリスタート!
…変わらない(´・ω・`)

いやー、参りましたよ。
ちょうどコマンドラインで呼び出したりしていたので、CLI版PHPではphp.iniの変更が反映されていたので、よりカオスな方向に行ってしまったのですわ。

もう、的はずれな検索語でググっては失敗の繰り返し。
そんな中でふと思い出したのです。
PHP-FPMの存在を。

以前にも同じよーな罠にハマったから、思い出したんだろうねー。

という訳で、php-fpmをリロードしたところ、当然変更が反映されましたとさ。

詳しくは下記の参考文献をご参照下さいませ〜

Apacheの再起動でphp.iniの設定が反映されなかった時 - suzu6の技術ブログ


そして、エラーログでもハマりましたとさ。
PHPのエラーログは(centos8のPHP-FPM環境の場合?)デフォルトで下記になってました。
/var/log/php-fpm/www-error.log

また、同じ罠にハマってた…orz
bootstrap4のpopoverはsanitizeオプションに気をつけろ

てか、↑の記事、結局どうすればいいか書いてないな(-_-;)
リンクも切れてるし(~_~;)
内容にも誤りがあるなぁ(@_@;)

という訳で、書き直そう。

sanitizeオプションは、contentやtitleなどで指定する内容から有害そうな内容を取り除くというオプション。デフォルトはtrueなので有効。なので、指定しないと<input>タグなどのフォーム部品の類は取り除かれてしまう、ということみたいでーす。

htmlオプションでHTMLを有効にして、その中にフォーム部品が含まれている場合は、《危険性を理解した上で》sanitizeオプションにfalseを指定しましょう。

というわけで、こんな感じ。
$(elem).popover({
content: 'お名前:<input type="text" name="name" />',
html: true,
sanitize: false
});
三日坊主失脚!ファンの皆様(そんな奴おれへんやろ〜)、ご無沙汰しております。
もう数年は放置したと思っていたけど、前回の投稿がちょうど半年前だったのに面食らった管理人でーす(^o^)v
キャラ変わってるしー。いや、ただ寝不足でハイになってるだけだよー\(^o^)/

さて、早速(どこが)本題に入ります。
preg_match関数の使用例です。
$str = 'んなこと言われたらアンタ、チッチキチーやで〜';
if (preg_match('/^(.*)(チ.*)$/', $str, $matches)) {
echo $matches[2];
} else {
echo '往生しまっせ〜';
}

こんな感じで$matches変数を使いますよねー。
でも、これだとIDEには$matchesは未定義だと怒られます。
なので、
$matches = array();

などと初期化してみたりする訳だが…

preg_matchする度にイチイチ初期化するのメンドいのヽ(`Д´)ノ

この問題、どこかで取り上げられてるんじゃないかなーと思って検索しても、ほぼ皆無。
(検索語の選択が悪かったのかなぁ)
みんなはどうしているのかなぁ(?_?)
フツーに毎回初期化してるのか…
フツーにIDEの指摘を無視してるのか…

以下、蛇足です。検索しても望むような回答が得られなかったという話をクドクドとしているだけ。。
続きを読む
PHP5の環境とPHP7の環境とで実行結果が異なる事象が発生した。
原因は下記だった。
引数を調べる関数は、パラメータの その時点での 値を報告する

ナンノコッチャわからん。。。
具体例をそのまま引用させていただく。
function foo($x) {
$x++;
var_dump(func_get_arg(0));
}
foo(1);

PHP5 の場合「1」が出力され、PHP7だと「2」となる。
直感的にはPHP5の挙動が自然だと思うのだが、他の言語との兼ね合い(調和?迎合?)なのかなぁ。

私の場合、関数の引数をそのまま再利用して上書きするという、「PHPらしい」(と私は思っている)実装をしたため、問題が発生してしまいました(^_^;)

なんとなく、PHPがJAVA化していっているような気がする今日このごろ、皆様方におかれてはいかがでしょうか(ナンノコッチャ)?
掲題の通りなのですが、大きいと言っても、たかが百数十メガバイト、今どきさほど大きくはないような気もするようなサイズなのだが…。
エラーになるのは仕方ないんだけど、phpMyAdminのエラーメッセージが「Incorrect format parameter」ってだけで、原因がさっぱりわからない┐(´д`)┌サパーリ

っというお話でした。結論は、↓です。
phpMyAdmin:「Incorrect format parameter」、「スクリプトがタイムアウトしました」エラー発生時の対処方法

つまり、よくあるphp.iniのファイルサイズ制限の関連の設定。
PHPをついに「PHP7」にバージョンアップしたため、これらの設定がデフォルトになってしまっていた。いつものことだから設定しなければならないと思っていたんだけど、漏れていた…orz