我的php网站运行于一个虚拟主机空间,
开头我写了一个 test.php开始还有显示运行结果。可是后来我又添加了一些代码,就什么显示都没有了。我怀疑是不是因为服务器编译通不过引起的,但是什么警告都看不到,我希望得到警告或者错误告诉我出错在哪一行,有什么办法吗?注意我的网站是一个虚拟主机。

解决方案 »

  1.   

    试着用error_reporting()来设置报错级别,但是E_STRICT不一定能够设置成功。
    有些虚拟主机支持自定义php.ini功能。
    最好的方法还是在本地用E_ALL | E_STRICT级别将代码调试好再上传到服务器上。
      

  2.   

    error_reporting()error_reporting
    配置错误信息回报的等级。语法: int error_reporting(int [level]);返回值: 整数函数种类: PHP 系统功能
     
     
    内容说明 
    本函数用来配置错误信息回报的等级,参数 level 是一个整数的位遮罩 (bitmask),见下表。遮罩值 表示名称 
    1     E_ERROR 
    2     E_WARNING 
    4     E_PARSE 
    8     E_NOTICE 
    16    E_CORE_ERROR 
    32    E_CORE_WARNING E_NOTICE 表示一般情形不记录,只有程序有错误情形时才用到,例如企图存取一个不存在的变量,或是呼叫 stat() 函数检视不存在的文件。 
    E_WARNING 通常都会显示出来,但不会中断程序的执行。这对除错很有效。例如:用有问题的正则表达式呼叫 ereg()。 
    E_ERROR 通常会显示出来,亦会中断程序执行。意即用这个遮罩无法追查到内存配置或其它的错误。 
    E_PARSE 从语法中解析错误。 
    E_CORE_ERROR 类似 E_ERROR,但不包括 PHP 核心造成的错误。 
    E_CORE_WARNING 类似 E_WARNING,但不包括 PHP 核心错误警告。
      

  3.   

    最开始的地方加上:error_reporting(E_ALL);
      

  4.   

    ini_set('display_errors', 1);
    这个函数是在php代码中修改php.ini的设置!放在错误代码前面!
      

  5.   


    两种方法,在页面最上加上如下代码中的任意一句即可:(1) ini_set('error_reporting', E_ALL);(2) error_reporting(E_ALL);