“!!! Unable to assume specified IAM Role. Please ensure the selected IAM Role has sufficient permissions and the Trust Relationship is configured correctly.”
-- 全ユーザーの詳細情報
SELECT
u.ID,
u.user_login,
u.user_email,
u.user_registered,
u.display_name,
m.meta_value as capabilities
FROM wp_users u
LEFT JOIN wp_usermeta m ON u.ID = m.user_id
WHERE m.meta_key = 'wp_capabilities';
-- 削除されたユーザーの投稿が残っているか確認
SELECT * FROM wp_posts WHERE post_author = '削除されたユーザーID';
-- usermeta テーブルに残骸があるか確認
SELECT * FROM wp_usermeta WHERE user_id NOT IN (SELECT ID FROM wp_users);
1. 最初の出力
Warning: Undefined variable $undefined_variable in /var/www/html/error-test-stdout.php on line 5
2. 次の出力
Warning: include(nonexistent.php): Failed to open stream: No such file or directory in /var/www/html/error-test-stdout.php on line 10
Warning: include(): Failed opening 'nonexistent.php' for inclusion (include_path='.:/usr/local/lib/php') in /var/www/html/error-test-stdout.php on line 10
3. 最後の出力
出力種別
どこに出る?
すぐ表示?
備考
echo, print, HTML
標準出力(stdout)
✅ すぐ表示
ブラウザに出る
var_dump()
標準出力
✅ すぐ表示
デバッグ用
fwrite(STDERR)
エラー出力
❌ 表示されない
CLIで使うことが多い
file_put_contents()
ファイル
❌ 表示されない
ログや保存用
mail()
メール
❌ 表示されない
サーバーから外部に送る
setcookie()
ヘッダー出力
❌ 表示されない
bodyより先に送る必要あり
🔽 出力バッファリングを使うと
出力内容を一時的にメモリ上にためておいて
あとからまとめて送る、あるいは加工してから送ることができる!
関数名
説明
ob_start()
出力バッファリングを開始する
ob_get_contents()
バッファにたまっている内容を取得する
ob_end_clean()
バッファの内容を消してバッファリングを終了
ob_end_flush()
バッファ内容を出力してからバッファリング終了
ob_clean()
バッファ内容を消去(バッファリングは継続)
ob_flush()
バッファ内容を出力(バッファリングは継続)
バッファ処理が使われる主な理由
テンプレートキャプチャ
ob_start();
include 'template.php';
$content = ob_get_clean(); // テンプレートの出力を文字列として取得
Warning: openssl_encrypt(): Using an empty Initialization Vector (iv) is potentially insecure and not recommended in … string(24) “5kBbn5hweqDYYT6VQjj2ag==”
class Hoge {
public function f1() {
echo __METHOD__, PHP_EOL;
return $this;
}
public function f2() {
echo __METHOD__, PHP_EOL;
return null;
}
public function f3() {
echo __METHOD__, PHP_EOL;
return $this;
}
}
$val = (new Hoge())?->f1()?->f2()?->f3();
var_dump($val);
class Hoge {
final private function pFunc1() {
echo __METHOD__, PHP_EOL;
}
}
class Foo extends Hoge {
private function pFunc1() {
parent::pFunc1();
echo __METHOD__, PHP_EOL;
}
public function callPri() {
$this->pFunc1();
}
}
(new Foo())->callPri();
PHP 7.4 で動かすと、結果は次のとおりとなる。
PHP Fatal error: Cannot override final method Hoge::pFunc1() in …
このコマンドを実行すると、対話形式で以下の情報を入力できます: Country Name (国名): JP State (都道府県): Tokyo Locality (市区町村): Tokyo Organization Name (組織名) Organizational Unit Name (部門名) Common Name: localhost Email Address (メールアドレス)
-----
Country Name (2 letter code) [AU]:JP
State or Province Name (full name) [Some-State]:Tokyo
Locality Name (eg, city) []:Shinjuku
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:localhost
Email Address []:
このコマンドで以下のファイルが生成されます:
server.key: 秘密鍵
server.crt: 証明書
作業したいフォルダで右クリック
「Open Git Bash here」を選択
Apacheの設定
Apache設定ファイル(apache\ssl.conf)でSSL関連の設定
<VirtualHost *:443>
ServerName localhost
DocumentRoot /var/www/html
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/server.crt
SSLCertificateKeyFile /etc/apache2/ssl/server.key
<Directory /var/www/html>
Require all granted
</Directory>
</VirtualHost>