OpenSSL プログラムを利用することで表示が可能です。
– server.crt という証明書の情報を表示する。
openssl x509 -noout -text -in server.crt
– server.key という RSA 方式秘密鍵の情報を表示する。
openssl rsa -noout -text -in server.key
参考:
– トラブルシューティング – サーバが起動したように見えるが、セキュアサイトにアクセスできない(Linux JF)
OpenSSL プログラムを利用することで表示が可能です。
– server.crt という証明書の情報を表示する。
openssl x509 -noout -text -in server.crt
– server.key という RSA 方式秘密鍵の情報を表示する。
openssl rsa -noout -text -in server.key
参考:
– トラブルシューティング – サーバが起動したように見えるが、セキュアサイトにアクセスできない(Linux JF)
他所様のコードを見ていると、
require ‘../include/conf.php’;
などというように(./ や ../ を含む)相対パス指定しているのを見掛けるのですが、これには落とし穴があります。
たとえば上のコードが書いてあるファイルが script/foo.php だとします。
別のディレクトリから foo.php を include したいと思い、
public_html/main.php で
> require ‘../script/foo.php’;
とすると、
Fatal error:main(../include/conf.php)[function.main]: failed to open sream: No such file or directory at …
のようなエラーが出て正常に動作しない、という結果になります。
これは PHP では
PHP5 で set_error_handler() を利用していると、PEAR のライブラリの各所(PEAR::isError, DB::connect など)で E_STRICT(=2048) が発生します。
set_error_handler の呼び出しを次のように変更すると回避可能です。
変更前:
set_error_handler(‘handler’);
変更後:
define(‘PHP5’, version_compare( phpversion(), “5.0.0”, “>=” ));
if(PHP5){
$old_error_handler = set_error_handler(‘handler’, E_ALL);
}else{
$old_error_handler = set_error_handler(‘handler’);
}
バージョンに応じて第二引数を与えているのがミソです。もちろん、PHP5だけに対応するのであれば、単純に既存のものに第二引数を与えればいいだけです。
PHP5 (5.0.5 で確認)では static メソッドの認識が微妙ですね。
参考:
– #1491(Make code work on both PHP4 and PHP5) (LiveSupport – Trac)
{literal} 〜 [/literal}
で挟むとその間にあるものは、Smarty の構文解析を行いません。
互換性を考えないのであれば公式マニュアルにあるように left_delimiter と right_delimiter を {, } から、<!–{, }–> に変更するというのもスマートです。ただしその場合、タグの属性の一部を変数にいれる使い方をすると、ソースはプレーンな HTML ではなくなりますが..。
<option value=1 {checked}>
参考:
– Smarty の構文解析を回避する(Smarty 2.6.3 マニュアル)
PHPプログラムからrequire/includeの検索パス(include_path)を上書き、追加するには、set_include_path()を使います。
例えば、ディレクトリ “/path/to/include/” をrequireの検索対象に追加する場合は以下のようにします。
<?php set_include_path(get_include_path().PATH_SEPARATOR."/path/to/include/");
または ini_set()を使う方法もあります。
<?php
ini_set('include_path', ini_get('include_path') . PATH_SEPARATOR . '/usr/lib/pear');
get_include_path() や ini_get(‘include_path’) は、今のinclude_path 設定を取得している関数呼び出しです。
set_include_path() や ini_set() は既存設定を(追記ではなく)上書きするため、追記にするために既存設定を取得して、新しい設定をつなげて足して、追加としています。
PATH_SEPARATOR はPHPの定義済の定数で、include_pathでパスを繋げるための文字が入ります。
(Windowsならセミコロン、Mac OSやLinuxならコロンが入ります)
.tr{ clear:left; }
.td{ float:left; }
と指定すれば、
<div class=”tr”>
<div class=”td”>foo</td>
<div class=”td”>boo</td>
</div>
のように簡易的に列揃えの疑似テーブル構造ができます(行揃えはなし)。
過渡期の置き換え作業の際はこのように td, tr クラスを作るのもいいかもしれません。
参考:
– CSS による段組(マルチカラム)レイアウト講座
– CSSリファレンス(実験室:P)
– テーブルを使わずにCSSでいこう
Html Validator
現在見ているページのHTML ソースの検証(Validation)を自動で行い結果をブラウザ右下に表示してくれます。
また、ソースを見る時に HTML の構文に問題のある箇所を表示してくれるようになります。
日本語表示にも対応しています。
eject というコマンドを使うと、CUI で CD を出し入れできます。
何が便利というわけではありませんが、次の用途にいいんじゃないでしょうか。
1. CD を用いるインストーラでユーザビリティ向上
2. ビープ音の代わりに、何かを通知するのに用いる。
sleep 180 && eject
3. リモートから実行して近くにいる人にいたずら
参考:
– Manpage of EJECT