投稿

10月, 2019の投稿を表示しています

ImageMagickでPNGをWebPへ変換すると色が黒くなる

PNGをWebPに変換したら黒くなるので調べたときの覚書。

前は問題なかった。
JPEG形式は問題なし。

環境: CentOS 7.7, ImageMagick 6.9.10-68, libwebp 1.0.2

変換コマンド
# mogrify -quality 80 -format webp -path ./ ./*.png

cwebの最新版をダウンロードして試す
参考: Compiling the Utilities | WebP | Google Developers
# cd /opt/software/
# curl -O https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-1.0.3-linux-x86-64.tar.gz
# tar -xzvf libwebp-1.0.3-linux-x86-64.tar.gz
# cd libwebp-1.0.3-linux-x86-64
# ls -l ./bin/

変換してみる
$ /opt/software/libwebp-1.0.3-linux-x86-64/bin/cwebp logo.png -o logo.webp

Google Chromeへドラッグアンドドロップして確認。
(Windows 10で表示すると色が濃くなるのでChromeで確認した方がいい)
無事変換されている。


なので、おそらくImageMagickのバグ。
しばらくしたら直ると思うので、それまではcwebpコマンドで変換する。


【関連記事】
ホームページ開発に画像形式WebPを導入

Can't open PID file /var/run/nginx.pid (yet?) after start: Too many levels of symbolic links

下記エラーになってハマった時の覚書。

systemd[1]: Can't open PID file /var/run/nginx.pid (yet?) after start: Too many levels of symbolic links
環境: Kagoya VPS(Open VZ), CentOS 7.7, nginx 1.16.1


yum updateするとこの現象が起きるらしい。
カゴヤのサポートに問い合わせてみたところ「最近 CentOS の systemd 周りの更新があったようで、yum update によりおっしゃる状況となることがあるようです。」とのこと。
答えが知りたい方は途中読み飛ばして、「systemd設定ファイルのPIDパスを変更」を参照してください。



【現象】
nginxが自動起動しないsystemctl start nginxを実行しても上記エラーで起動しない開発環境の仮想マシン(ほぼ同じ環境)では起こらない。カゴヤVPS上で起こる。OpenDKIMも自動起動していないMariaDBは無事起動している再起動直後は自動起動するが上記エラーで止まる。


【この現象が起きる前にやったこと】
yum updatephpを7.2から7.3へアップデート


【試した事】
nginxの再インストールphpの再インストール


【分かった事】
直接「/usr/sbin/nginx -c /etc/nginx/nginx.conf」を実行すると起動できる。systemdが何かおかしい気がする(?)


IPv6を疑う(←意味なかった) /var/run/は/run/にシンボリックリンクを貼ってるけど、今まで大丈夫だったし別の仮想環境で問題ないから、環境周りの原因からと思い、もう一度サーバーのエラーログを眺める
# less /var/log/messages
systemd: Binding to IPv6 address not available since kernel does not support IPv6. このエラーが気になった。
カゴヤVPSではデフォルトでIPv6は無効状態(参考: IPv6 の利用 - KAGOYA Internet Routing)。
なので、OSレベルでIPv6を無効にしてみる。
# vi /etc/sysctl.d/dis…

Flutter開発のサンプルアプリを探す

イメージ
いい感じのFlutterサンプルアプリをスクリーンショットを撮りながら探しているときの覚書。

環境: Windows 10, Flutter SDK v1.9.1 , Android Studio 3.5


参考サイト
samples/INDEX.md at master · flutter/samples · GitHub

Playground app for Flutter 下記エラーで動かなかった。
* Error running Gradle:
ProcessException: Process "D:\Documents\Projects\GitHub\FlutterPlayground\android\gradlew.bat" exited abnormally:
  Command: D:\Documents\Projects\GitHub\FlutterPlayground\android\gradlew.bat app:properties
Finished with error: Please review your Gradle project setup in the android/ folder.

Platform Design
右上の切り替えボタンで、サブメニューとタブメニューを切り替えて表示できる。
合わせてマテリアルデザインのナビゲーションの概念も参考に。
GitHub: samples/platform_design at master · flutter/samples · GitHub

Shine
ショッピングアプリ。
横スクロールで商品を閲覧する。
Material Componentをカスタマイズする例。
Page: Shrine - Material Design
GitHub: samples/material_studies/shrine at master · flutter/samples · GitHub


Rally Page: Rally - Material Design
GitHub: samples/material_studies/rally at master · flutter/samples · GitHub
「AndroidManifest.xml could not be …

CentOS7のPHP 7.2をPHP 7.3にYUM経由でアップデート

PHP 7.2のアクティブサポートが2019年11月末で切れるので、PHP 7.3をインストールしたときの覚書。

環境: CentOS 7.7.1908, WordPress 5.2.3


PHPのサポート状況は公式サイトで確認
PHP: Supported Versions

remiリポジトリの設定ファイルで切り替えるだけ。
# cd /etc/yum.repos.d/
# less remi-php73.repo
[remi-php73]
enabled=1
# less remi-php72.repo
[remi-php72]
enabled=0
アップデート実行
# yum update

PECL関連でWarning。一応メモ。
PHP Warning:  Invalid argument supplied for foreach() in /usr/share/pear/PEAR/Command.php on line 249
PHP Stack trace:
PHP   1. {main}() /usr/share/pear/peclcmd.php:0
PHP   2. require_once() /usr/share/pear/peclcmd.php:31
PHP   3. PEAR_Command::getCommands() /usr/share/pear/pearcmd.php:54
PHP   4. PEAR_Command::registerCommands() /usr/share/pear/PEAR/Command.php:302
PHP Warning:  Invalid argument supplied for foreach() in /usr/share/pear/PEAR/Command.php on line 249
実行ユーザーを変更しているので権限再設定
# chown nginx.www -R /var/lib/php/

確認
# php --version
PHP Warning:  PHP Startup: Unable to load dynamic library 'mecab.so' (tried: /usr/lib64/php/modules/mecab.so (/usr/lib64/php/modul…