PhP shell执行忽略异常

我有最奇怪的错误。 我喜欢wtf ^ 12。

我有一个脚本,它调用以下函数:

function checkNewFilename($newFilename)
{
    if (file_exists($newFilename)) {

        if (!unlink($newFilename)) {
            debugDeploy($newFilename . ' already exists and could not be deleted.');
            throw new Exception($newFilename . ' already exists and could not be deleted.');
        }
    }
}

它被这样使用:

$newFilename = $defaultConfig . DIRECTORY_SEPARATOR . 'client.xml'; 
checkNewFilename($newFilename);
echo 'wtf is happening here';
copy($configFilename, $newFilename);

现在,当我用normall browser / xdebug运行这段代码时,我得到了一个可破解的致命错误,因为它应该是。 但是当我通过shell运行脚本时

php script.php param param param 

一些事情发生了。 IT忽略了异常和缺陷,因为没有任何事情发生。 在函数调用... wth之后,我得到异常之前的错误和回显。

我在跑

PHP 5.3.3-7 + squeeze14与Suhosin-Patch(cli)(构建于:Aug 6 2012 14:18:06)Copyright(c)1997-2009 PHP Group Zend Engine v2.3.0,Copyright(c)1998-2010 Zend Technologies,Xdebug v2.2.5,版权所有(c)2002-2014,Derick Rethans with Suhosin v0.9.32.1,版权所有(c)2007-2010,由SektionEins GmbH

任何人有任何想法是什么导致这种奇怪的行为?

链接地址: http://www.djcxy.com/p/65083.html

上一篇: PhP shell execute ignores Exceptions

下一篇: Nginx or PHP FPM ignores memory