2018年02月19日


PHP の関数での環境情報取得( phpinfo の代替え )

@niftyホームページサービス(LaCoocan)では、phpinfo 関数が使用できないので、代替えの為いろいろな関数で情報を表示しています。

関数での情報取得

以下で使用している主な関数です。

ini_get
get_loaded_extensions
get_declared_classes
ini_get_all

phpversion
php_ini_loaded_file
get_include_path
get_magic_quotes_gpc


実行結果

少し見づらいですが、調査する場合や簡単な確認のとっかかりにはなると思います。

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<meta content="width=device-width initial-scale=1.0 minimum-scale=1.0 maximum-scale=1.0 user-scalable=no" name="viewport">
<title>phpinfo の代替え</title>
<style>
* {
	font-size: 12px;
	font-family: "ヒラギノ角ゴPro W6","Hiragino Kaku Gothic Pro W6","メイリオ",Meiryo,"MS Pゴシック",Verdana,Arial,Helvetica,sans-serif;
}

pre {
	white-space: pre-wrap;
	word-wrap: break-word;
}
</style>
</head>
<body style='width:400px;margin:auto;border:1px solid #ccc;padding:12px;'>

<pre>
<?php

	print "PHP version : " . phpversion() . "\n";

	print "php.ini : " . php_ini_loaded_file() . "\n";
	print "include_path : " . get_include_path() . "\n";
	print "get_magic_quotes : " . get_magic_quotes_gpc . "\n";

	print "variables_order : " . ini_get('variables_order') . "\n";
	print "short_open_tag : " . ini_get('short_open_tag') . "\n";
	print "display_errors : " . ini_get('display_errors') . "\n";
	print "display_startup_errors : " . ini_get('display_startup_errors') . "\n";
	print "allow_url_fopen : " . ini_get('allow_url_fopen') . "\n";
	print "allow_url_include : " . ini_get('allow_url_include') . "\n";
	print "max_execution_time : " . ini_get('max_execution_time') . "\n";
	print "post_max_size : " . ini_get('post_max_size') . "\n";
	print "track_errors : " . ini_get('track_errors') . "\n";

	print "<hr>";
	print "<b style='font-size:24;font-weight:bold'>Loaded_extensions</b>\n";

	// コンパイル/ロードされている全てのモジュールの名前を配列として返す
	$target = get_loaded_extensions();
	foreach( $target as $key => $value ) {
		print "$key => $value\n";
	}

	print "<hr>";
	print "<b style='font-size:24;font-weight:bold'>get_declared_classes</b>\n";

	// 定義済のクラスの名前を配列として返す
	$classes = get_declared_classes();
	foreach( $classes as $key => $value ) {
		print "$key => $value\n";
	}

	// $_SERVER
	print "<hr>";
	print "<b style='font-size:24;font-weight:bold'>\$_SERVER</b>\n";

	foreach( $_SERVER as $key => $value ) {
		print "$key => $value\n";
	}

	// $_ENV
	print "<hr>";
	print "<b style='font-size:24;font-weight:bold'>\$_ENV</b>\n";

	foreach( $_ENV as $key => $value ) {
		print "$key => $value\n";
	}

	// すべての設定オプションを得る
	print "<hr>";
	print "<b style='font-size:24;font-weight:bold'>ini_get_all</b>\n";
	$inis = ini_get_all();
	print_r($inis);

?>
</pre>

</body>
</html>




タグ:PHP phpinfo
posted by at 2018-02-19 10:06 | LaCoocan | このブログの読者になる | 更新情報をチェックする

2010年03月22日


LaCoocan の PHP でエラーを表示する

テストしたい.php をテストする場合は、適当に以下のようなコード
を作成して実行させて下さい。

<?
ini_set( 'display_errors', "1" );

include( 'テストしたい.php' )
?>

関連する PHP オンラインの情報

http://php.benscom.com/manual/ja/ref.errorfunc.php
( petrov dot michael () gmail com )

posted by at 2010-03-22 15:48 | LaCoocan | このブログの読者になる | 更新情報をチェックする

2010年03月01日


LaCoocanサービス : メール転送機能の拡張

LaCoocan のメールアドレスは、転送に1つ、49個を CGI 実行に割り当てる事ができますが、PHP を使って sendmail で簡単に 49 個にも転送機能を付加できます。
( ※ From にユーザのアドレスを使う必要があります )
Lacoocan_mail
※ ラジオボタンは個別に設定しなおす場合の選択用です
@nifty LaCoocan で PHP を利用したメール転送処理

本来PHP単独でメールを送る場合はメールヘッダやエンコード等面倒ですが、転送の場合はメールデータがそのまま受け取れるので逆にデコードしていろいろ機能を付加する事になると思います。その際に必要な機能が、Pear の Mail_mimeDecodeですが、これは自分で Windows 上で Pear を取り出してサーバーに配置するのが最も簡単ですが、知らないとこれもなかなか面倒なので、手順を以下のリンク先に示します。が、ダウンロードできるものも用意しましたのでそれを使う事もできます。

PHP 5.2.11 で Pear インストール
Mail_mimeDecode

ブラウザでダウンロード
関連する記事

nifty LaCoocan の PHP 注意事項


posted by at 2010-03-01 21:49 | LaCoocan | このブログの読者になる | 更新情報をチェックする
Seesaa の各ページの表示について
Seesaa の 記事がたまに全く表示されない場合があります。その場合は、設定> 詳細設定> ブログ設定 で 最新の情報に更新の『実行ボタン』で記事やアーカイブが最新にビルドされます。

Seesaa のページで、アーカイブとタグページは要注意です。タグページはコンテンツが全く無い状態になりますし、アーカイブページも歯抜けページはコンテンツが存在しないのにページが表示されてしまいます。

また、カテゴリページもそういう意味では完全ではありません。『カテゴリID-番号』というフォーマットで表示されるページですが、実際存在するより大きな番号でも表示されてしまいます。

※ インデックスページのみ、実際の記事数を超えたページを指定しても最後のページが表示されるようです

対処としては、このようなヘルプ的な情報を固定でページの最後に表示するようにするといいでしょう。具体的には、メインの記事コンテンツの下に『自由形式』を追加し、アーカイブとカテゴリページでのみ表示するように設定し、コンテンツを用意するといいと思います。


※ エキスパートモードで表示しています

アーカイブとカテゴリページはこのように簡単に設定できますが、タグページは HTML 設定を直接変更して、以下の『タグページでのみ表示される内容』の記述方法で設定する必要があります

<% if:page_name eq 'archive' -%>
アーカイブページでのみ表示される内容
<% /if %>

<% if:page_name eq 'category' -%>
カテゴリページでのみ表示される内容
<% /if %>

<% if:page_name eq 'tag' -%>
タグページでのみ表示される内容
<% /if %>
この記述は、以下の場所で使用します