test.phpとdemo.phpの2つのファイルがあります。
test.phpの内容:
<?php
// fails if allow_url_include = 0 (which it generally is by default)
if (!defined('INIT_NAMESPACES')) {
define('INIT_NAMESPACES', true);
$str = substr_replace(file_get_contents(__FILE__), ' namespace phpseclib;', 5, 0);
include('data://text/plain;base64,' . base64_encode($str));
return;
}
class test {
function zz() { echo 'aaa'; }
}
echo "THIS FAR";
?>
demo.phpの内容:
<?php
ini_set('display_errors', 'on');
error_reporting(E_ALL);
include('test.php');
echo "ALL DONE";
?>
demo.phpを実行すると、このFARが出力されますが、すべて完了したわけではありません。理由について何かアイデアはありますか?
私がやろうとしていることに関しては...関連性はないと思いますが、これは名前空間を使用するコードの実現可能性をテストするためのテストスクリプトですが、PHP4では名前空間がなくても機能します。しかし、それが私たちを質問からそらさせないようにしましょう。私が尋ねている質問は、名前空間やPHP4などではなく、ALLDONEが表示されない理由です。
ありがとう..