我可以set_error_handler()
用来捕获大多数PHP错误,但它不适用于致命(E_ERROR
)错误,例如调用不存在的函数.还有另一种方法来捕捉这些错误吗?
我试图调用mail()
所有错误,并运行PHP 5.2.3.
我正在尝试一个简单的Web服务示例,即使我extension=php_soap.dll
在php.ini
文件中取消注释,我也会收到此错误:
致命错误:在第2行的C:\ Program Files(x86)\ EasyPHP-5.3.9\www\server.php中找不到类'SoapClient'
我收到了这个错误,我无法做出它的头或尾.
确切的错误消息是:
致命错误:第48行/home/curricle/public_html/descarga/index.php中的写入上下文中无法使用函数返回值
第48行是:
if (isset($_POST('sms_code') == TRUE ) {
Run Code Online (Sandbox Code Playgroud)
谁知道发生了什么?
PS这是完整的功能,如果有帮助:
function validate_sms_code() {
$state = NOTHING_SUBMITED;
if (isset($_POST('sms_code') == TRUE ) {
$sms_code = clean_up($_POST('sms_code'));
$return_code = get_sepomo_code($sms_code);
switch($return_code) {
case 1:
//no error
$state = CORRECT_CODE;
break;
case 2:
// code already used
$state = CODE_ALREADY_USED;
break;
case 3:
// wrong code
$state = WRONG_CODE;
break;
case 4:
// generic error
$state = UNKNOWN_SEPOMO_CODE;
break;
default:
// unknown error
$state = UNKNOWN_SEPOMO_CODE;
throw new Exception('Unknown sepomo code: …
Run Code Online (Sandbox Code Playgroud) 我试图运行示例代码在Android 1.5模拟器中启动应用程序时,我遇到了这些错误....任何人都有一些提示..?
来自LogCat的错误:
01-13 02:28:08.392: ERROR/AndroidRuntime(2888): FATAL EXCEPTION: main
01-13 02:28:08.392: ERROR/AndroidRuntime(2888): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.s.android.test/com.s.android.test.MainActivity}: java.lang.ClassNotFoundException: com.s.android.test.MainActivity in loader dalvik.system.PathClassLoader[/data/app/com.s.android.test-2.apk]
01-13 02:28:08.392: ERROR/AndroidRuntime(2888): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1544)
01-13 02:28:08.392: ERROR/AndroidRuntime(2888): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1638)
01-13 02:28:08.392: ERROR/AndroidRuntime(2888): at android.app.ActivityThread.access$1500(ActivityThread.java:117)
01-13 02:28:08.392: ERROR/AndroidRuntime(2888): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:928)
01-13 02:28:08.392: ERROR/AndroidRuntime(2888): at android.os.Handler.dispatchMessage(Handler.java:99)
01-13 02:28:08.392: ERROR/AndroidRuntime(2888): at android.os.Looper.loop(Looper.java:123)
01-13 02:28:08.392: ERROR/AndroidRuntime(2888): at android.app.ActivityThread.main(ActivityThread.java:3647)
01-13 02:28:08.392: ERROR/AndroidRuntime(2888): at java.lang.reflect.Method.invokeNative(Native Method)
01-13 02:28:08.392: ERROR/AndroidRuntime(2888): at java.lang.reflect.Method.invoke(Method.java:507)
01-13 02:28:08.392: ERROR/AndroidRuntime(2888): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
01-13 02:28:08.392: ERROR/AndroidRuntime(2888): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
01-13 …
Run Code Online (Sandbox Code Playgroud) 过去几年我在这种情况下使用了 git:
git-bash
我可以通过这样的方式访问 Linux 中的文件(通过//wsl$/
共享):
或者在 WSL bash 终端中本地:
这些访问都进入同一个目录。
现在,如果我git status
在 Windows 端的存储库中执行此操作,则会出现错误fatal: detected dubious ownership in repository at
:
而在 WSL-Linux 中则不然,对于同一目录:
以前没有发生过这种情况。我已经使用这个设置很多年了。这件事从两天前开始发生。
事实上,我git-bash
两天前安装了一个新版本,我怀疑 bash 环境可能会影响这个。
我使用了大约 100 个存储库,并且发现我尝试过的所有存储库都失败了(大约 10 个存储库)。预计这 100 个存储库也会发生这种情况。
那些以前工作但现在失败的存储库都没有被触及,因此用户和权限都没有改变。
因此,从“好”到“坏”的转变不是在文件系统方面,而是在 git-bash 方面。
我不想只是将其列入白名单safe.directory
。我想了解幕后发生的事情。为什么它发生在今天而不是三天前。我想知道“git 期望什么”并看看如何纠正它。
用户似乎是正确的。从linux端:
从 Windows 端来看,它还与硬盘和id
:
我怎样才能告诉所有权人期望git
它不会抱怨?
我有一个问题:
我正在编写一个没有框架的新WebApp.
在我的index.php我正在使用:require_once('load.php');
在load.php中,我require_once('class.php');
用来加载我的class.php.
在我的class.php中,我遇到了这个错误:
致命错误:当不在class.php中的对象上下文中时使用$ this ...(在这个例子中它将是11)
我的class.php是如何编写的一个例子:
class foobar {
public $foo;
public function __construct() {
global $foo;
$this->foo = $foo;
}
public function foobarfunc() {
return $this->foo();
}
public function foo() {
return $this->foo;
}
}
Run Code Online (Sandbox Code Playgroud)
在我的index.php中我加载可能foobarfunc()
是这样的:
foobar::foobarfunc();
Run Code Online (Sandbox Code Playgroud)
但也可以
$foobar = new foobar;
$foobar->foobarfunc();
Run Code Online (Sandbox Code Playgroud)
为什么会出现错误?
为什么我收到这个PHP错误?
Fatal error: Class 'PHPUnit_Framework_TestCase' not found in ...
Run Code Online (Sandbox Code Playgroud) 我有以下结构
otsg
> class
> authentication.php
> database.php
> user.php
> include
> config.inc.php
> encryption.php
> include.php
> session.php
> index.php
> registration.php
Run Code Online (Sandbox Code Playgroud)
include.php文件具有以下内容
ini_set('display_errors', 1);
error_reporting(E_ALL);
ini_set('include_path',ini_get('include_path').':/Applications/MAMP/htdocs/otsg/:');
require_once 'config.inc.php';
require_once '../class/database.php';
require_once '../class/user.php';
require_once 'encryption.php';
require_once 'session.php';
require_once '../class/authentication.php';
Run Code Online (Sandbox Code Playgroud)
在我包含的index.php页面中
require_once 'include/include.php';
Run Code Online (Sandbox Code Playgroud)
当我打开页面index.php时,我收到以下警告和致命错误.我不明白是什么导致了这个错误.当我给出绝对路径时它起作用.但绝对的道路并不是我认为的好主意.
Warning: require_once(../class/database.php) [function.require-once]: failed to open stream: No such file or directory in /Applications/MAMP/htdocs/otsg/include/include.php on line 9
Fatal error: require_once() [function.require]: Failed opening required '../class/database.php' (include_path='.:/Applications/MAMP/bin/php5.3/lib/php:/Applications/MAMP/htdocs/otsg/include/:') in /Applications/MAMP/htdocs/otsg/include/include.php on line 9
Run Code Online (Sandbox Code Playgroud)
提前致谢
我试图在我的一个类上实现PHP5的类型提示,
class ClassA {
public function method_a (ClassB $b)
{}
}
class ClassB {}
class ClassWrong{}
Run Code Online (Sandbox Code Playgroud)
正确用法:
$a = new ClassA;
$a->method_a(new ClassB);
Run Code Online (Sandbox Code Playgroud)
产生错误:
$a = new ClassA;
$a->method_a(new ClassWrong);
Run Code Online (Sandbox Code Playgroud)
可捕获的致命错误:传递给ClassA的参数1 :: method_a()必须是ClassB的一个实例,ClassWrong的实例给出...
我是否可以知道是否有可能发现错误(因为它说"可捕获")?如果是,怎么样?
谢谢.
fatal-error ×10
php ×8
class ×2
android ×1
function ×1
git ×1
git-bash ×1
object ×1
require-once ×1
soap ×1
type-hinting ×1
warnings ×1