スタイルシートを圧縮するツール「Minify CSS」に続いて、JavaScriptを圧縮するツール「Minify JavaScript」もつくってみた。
ファイルをアップロードするか、ソースを貼り付けるだけで圧縮してくれます。ファイルは複数アップロード可能でソースをまとめて圧縮、出力してくれます。ソースを符号化する Packer には未対応です。
スタイルシートを圧縮するツール「Minify CSS」に続いて、JavaScriptを圧縮するツール「Minify JavaScript」もつくってみた。
ファイルをアップロードするか、ソースを貼り付けるだけで圧縮してくれます。ファイルは複数アップロード可能でソースをまとめて圧縮、出力してくれます。ソースを符号化する Packer には未対応です。
ウェブサイトやウェブアプリの表示の最適化を求められている昨今。Google の検索エンジンもウェブページの表示の高速化を考慮に入れたり、ウェブサイトのパフォーマンス如何でアクセス数やコンバージョン率、売上に影響を与えつつあり、パフォーマンス向上のため、最適化の必要性が高まっている。
スタイルシートは、HTML5 の普及につれて表現が豊かになりつつあるが、その反面スタイルシートの記述が複雑になり、ファイルサイズも大きくなりつつある。
まず、スタイルシートの最適化に大きく期待できる、2つのポイントを押さえておきたい。
ということで、スタイルシートを圧縮するツールをつくってみた。ファイルをアップロードするか、ソースを貼り付けるだけでスタイルシートを圧縮してくれます。ファイルは複数アップロード可能。
yum 経由で MySQL をアップデートした備忘録。
MySQL がバージョン 5.5.3 なってからコマンドやサーバオプション、変数に大幅な変更や廃止が加えられている。グーグルで検索すると今回の変更のことで MySQL が起動しないことがたくさんヒットする。この機会に古い設定を見直しておきたい。
バージョン5.5.x のインストールは無事に済んだが、データベースに繋がらず。
Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
再起動しても失敗。ログを見ると、いくつかエラーが見られる。
tail -50 /var/log/mysqld.log ... 110830 12:39:45 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it. ... 110830 12:39:46 [ERROR] /usr/libexec/mysqld: unknown variable 'default-character-set=utf8' 110830 12:39:46 [ERROR] Aborting ... 110830 12:39:47 [Note] /usr/libexec/mysqld: Shutdown complete
一つ一つ解決。
まずは、デフォルトで文字コードを設定しているが、文字コードの設定の方法が変わったみたいだ。それで MySQL が起動せずにシャットダウン。
my.cnf の設定を変更。[mysqld] ディレクティブにある default-char-set を
default-character-set=utf8
から
character-set-server=utf8
に変更。
再起動ができるようになった。
そしてつぎは、アップグレードの度に実行する mysql_upgrade コマンドでテーブルの互換性をチェック、修正を施す。
mysql_upgrade -u root -p
無事アップグレードが済んで、データベースに繋がった。
PHP でのエラー表示は php.ini にある
display_errors = On
で HTML 上にエラーが表示される。
display_errors = Off
で HTML 上に表示されなくなる。
さらにエラーレポートレベルによってエラーの種類を設定する必要がある。
PHP 4 と PHP 5 のデフォルトは
error_reporting = E_ALL & ~E_NOTICE
他は、全てのエラー出力をオフにする
error_reporting = 0
全てのエラーを出力する
error_reporting = E_ALL
など定義済み定数で細かく設定できる。
php.ini にあるサンプルには
error_reporting Default Value: E_ALL & ~E_NOTICE Development Value: E_ALL | E_STRICT Production Value: E_ALL & ~E_DEPRECATED
とある。
開発環境には以下の設定を。
error_reporting = E_ALL | E_STRICT
E_ALL には PHP5 から追加された E_STRICT が含まれていないため、E_STRICT で互換性がない推奨されていないコードの警告とスクリプトのチェックをしたい。
Webサービスとして運営する時には、
error_reporting = E_ALL & ~E_DEPRECATED
PHP 5.3.0 で新しく加わった E_DEPRECATED で特定の機能が将来のPHPバージョンで推奨されない場合に警告が表示されるので、回避策として。
さらに
display_errors = Off
でエラー表示をなくしたい。
WordPress などを使っていると PHP スクリプトがサーバーに割り当てられたメモリをオーバーして使用している際に遭遇する。
Fatal error: Allowed memory size of 16777216 bytes exhausted (tried to allocate 19456 bytes) in ....
そこで、メモリーを増やすことに。設定は /etc/php.ini に。
memory_limit = 16M
から
memory_limit = 32M
に変更して保存。
Apacheを再起動して確認。
あらら、またまた同じエラーが。
Fatal error: Allowed memory size of 16777216 bytes exhausted (tried to allocate 19456 bytes) in ....
phpinfo() で確認すると、memory_limit の項目が Master Value では 32M。Local Value では 16M と php.ini で設定された値とは別に .htaccess や httpd.conf など他のどこかで設定されているようだ。
サーバーに ServersMan@VPS を使っている場合、いろいろ探してみるとサブドメインの設定 (/etc/httpd/conf.d/subdomains/site1.xxx.conf) に該当箇所があった。削除するか、
php_admin_value memory_limit 16M
から
php_admin_value memory_limit 32M
に変更保存。
再びサーバ再起動。
/etc/init.d/httpd restart
phpinfo() でも Master Value と Local Value が同じ 32M を確認。
きちっとメモリーが割り当てられた。