PHP 7.2.8・7.2.9 で WordPress など MySQL 8.0 に接続する PHP が動作しなくなる件の対策法

nginx An error occurred

PHP 7.2.8 or 7.2.9 にアップデート後、WordPress で運営しているこのブログが表示されなくなる問題で大変ご迷惑をおかけいたしました。

現象

PHP 7.2.7 から、PHP 7.2.8 にアップデートすると、WordPress のサイトがエラーとなりました。
“PHP 7.2.8・7.2.9 で WordPress など MySQL 8.0 に接続する PHP が動作しなくなる件の対策法” の続きを読む

VMware Authorization Service の起動に失敗した場合の解決方法

[2018.07.07]VMware Workstation は、VMware Authorization Service の起動に失敗しました

問題発生

VMware で VM を起動しようとするとこのようなエラーが…

[2018.07.07]VMware Workstation は、VMware Authorization Service の起動に失敗しました

VMware Workstation は、VMware Authorization Service の起動に失敗しました。VMware Authorization Service を手動で起動してみてください。この問題が続く場合は、VMware サポートに連絡してください。

画面の指示に従い、手動で起動させてみます。

[2018.07.07]ローカル コンピューター で VMware Authorization Service を開始できませんでした。詳細情報はシステム イベント ログを参照してください。

ローカル コンピューター で VMware Authorization Service を開始できませんでした。詳細情報はシステム イベント ログを参照してください。これが Microsoft 以外のサービスである場合は、サービスの製造元に問い合わせてください。その際、サービス固有のエラー コードが 600009 であることを伝えてください。

やはりエラーが出て起動しません。

“VMware Authorization Service の起動に失敗した場合の解決方法” の続きを読む

Google Analyticator プラグインで WP テーマのカスタマイズが 500 エラーになる場合の対応(OAuth token)

前回の記事に引続き、WordPress 4.7 にアップデート前に現在の不安定な部分を解決したという記事です。

問題点

  • WordPress のテーマのカスタマイズを選択すると、500 エラーが表示される。
  • 通常のブログの閲覧、投稿においてはエラーは発生していない。
  • サーバーのエラーログには下記のようなログが記録されている。
2016/12/27 22:31:16 [error] 10890#10890: *799703 FastCGI sent in stderr: "PHP message: PHP Fatal error:  Uncaught Google_AuthException: Error refreshing the OAuth2 token, message: '{
  "error" : "invalid_grant"
}' in /…/wp-content/plugins/google-analyticator/google-api-php-client/src/auth/Google_OAuth2.php:288
Stack trace:
#0 /…/wp-content/plugins/google-analyticator/google-api-php-client/src/auth/Google_OAuth2.php(247): Google_OAuth2->refreshTokenRequest(Array)
#1 /…/wp-content/plugins/google-analyticator/google-api-php-client/src/auth/Google_OAuth2.php(225): Google_OAuth2->refreshToken('1/AHQgt42tqijcP...')
#2 /…/wp-content/plugins/google-analyticator/google-api-php-client/src/service/Google_ServiceResource.php(167): Google_OAuth2->sign(Object(Google_HttpRequest))
#3 /…/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_AnalyticsService.php(784): Google_ServiceResource->__call('list', Array)
#4 /…/" while reading response header from upstream, client: …, server: blog.oyasu.info, request: "POST /wp-admin/admin-ajax.php HTTP/1.1", upstream: "fastcgi://unix:/var/run/php-fpm/php-fpm.sock:", host: "blog.oyasu.info", referrer: "https://blog.oyasu.info/wp-admin/"

“Google Analyticator プラグインで WP テーマのカスタマイズが 500 エラーになる場合の対応(OAuth token)” の続きを読む

Windows 10 Insider Preview 10525 で Google Chrome のクラッシュ解決法

2015/09/02追記:
この記事は Chrome 44 以前の内容です。Chrome 45 では問題なく動作します。


8月19日に Windows 10 Insider Preview 10525 がリリースされました。

しかし、アップグレード後に Chrome が「強制終了しました」と表示されて利用できなくなってしまいます。

[H27.08.19] Windows 10 10525 Chrome Crash “Windows 10 Insider Preview 10525 で Google Chrome のクラッシュ解決法” の続きを読む

ConoHa で WebSocket 接続を試みるも 502 エラーが出現

またまたMacbook が欲しいために「ConoHa」の API に関する記事を公開します。

タイトルにもありますが、今回は上手くいかなかった例を紹介します。
どなたか詳しい方がいらっしゃれば、アドバイスをいただけると嬉しいです。

挑戦したいこと

先日更新した記事で、ConoHa には noVNC コンソールと HTTP のシリアルコンソールがあると紹介しました。

API ドキュメントにはあるものの紹介していないコンソールがありました。

WebSocket については Wikipedia にもありますが、サーバーとクライアントを常時接続するようなプロトコルで、プロキシサーバーが必要な環境でも接続できるのが特徴です。

WebSocket 接続用 URL の取得

前回紹介した PowerShell のスクリプトの

{"os-getVNCConsole":{"type": "novnc"}}

{"os-getSerialConsole":{"type": "serial"}}

に書き換えるだけです。

$apiUser = "APIユーザー名"
$apiPassword = "APIパスワード"
$tenantId = "テナントID"
$identityServiceUrl = "https://identity.tyo1.conoha.io/v2.0"
$computeService = "https://compute.tyo1.conoha.io/v2"
$uuid = "VPS設定-UUID"
# 有効な期間のトークンがあれば
$token = "" 

# トークンの取得
function getToken([string] $tenantId, [string] $apiUser, [string] $apiPassword, [string] $authurl){
    $body = '{"auth":{"passwordCredentials":{"username":"' + $apiUser + '","password":"'+$apiPassword+'"},"tenantId":"'+$tenantId+'"}}'
    $url = $identityServiceUrl+"/tokens"
    $result = Invoke-RestMethod $url -Method POST -Body $body
    return $result
}

# コンソールの URL 取得
function getWebSocketConsole([string] $tenantId, [string] $uuid, [Hashtable] $tokenHeader, [string] $computeService){
    $body = '{"os-getSerialConsole":{"type": "serial"}}'
    $url = $computeService + "/" + $tenantId + "/servers/" + $uuid + "/action"
    $result = Invoke-RestMethod $url -Method POST -Body $body -Headers $tokenHeader
    return $result.console.url
}

# 処理
if ($token -eq "") {
    $mytokens = getToken $tenantId $apiUser $apiPassword $identityServiceUrl
    $token = $mytokens.access.token
}
$tokenHeader = @{"X-Auth-Token" = $token}
$url = getWebSocketConsole $tenantId $uuid $tokenHeader $computeService
# URL 表示
Write-Output $url

成功するとこのような wss で始まる WebSocket の URL が得られます。

wss://console.tyo1.conoha.io/?token=○○

WebSocket クライアントからの接続

とりあえず WebSocket の接続サンプルを使うことにしました。

JavaScript

WebSocket の公式サイトにテストがあったので試してみました。

WebSocket の URL を入力して接続しても、ERROR:undefined と表示されてしまいました。
Creating your own test を自分で書き換えても同様のエラーが発生しました。

テストサーバーである、
ws://echo.websocket.org/
wss://echo.websocket.org/
は問題なく接続できるので、回線が WebSocket を制限しているわけでもなさそうです。

ブラウザの開発者ツールで確認してみると、502 Bad Gateway エラーが発生しているようです。

[H27.07.17]ConoHa WebSocket 502

C#

こちらのブログを参考に、C# での確認も行いました。

こちらも、ws://echo.websocket.org/ や wss://echo.websocket.org/ は問題なく接続できました。
違うネットワークから接続してもだめでした。

サポートに問い合わせてみた

困ったので、ConoHa のサポートに問い合わせてみました。

回答は「APIで接続用URL取得後の動作については案内が困難」とのことでした。
クライアントの問題や利用者の回線の問題も考えられるため、そこまではサポートできないというのも納得できます。

今回は、こうしてブログに書くことによって、誰かの参考になればと思います。

おわりに

現在友達の紹介キャンペーンを実施しており、こちらのリンクから ConoHa に登録していただくと、1000円分のクーポンがもらえますので是非登録し、試してみてください。