小编Kir*_*lly的帖子

因为"session_start"而从PHP 5.3切换到Php 5.4时Silex中的白屏死机

最后,我能够通过以下两行来重现这个问题:

session_set_save_handler(new SessionHandler());
session_start();
Run Code Online (Sandbox Code Playgroud)

当我这样做时,我得到了一个WSOD!知道为什么会这样吗?

================================================== ==========

最后,我深入挖掘并将其缩小到由于失败导致的问题session_start(); 不过,我不知道为什么会失败.

所以,问题归结为:当session_start()调用时NativeSessionStorage::start(),它失败了.但是,当我创建一个样本测试页面时,session_start()它就成功了!

Silex有什么不同的做法吗?!

我保留下面的文字,以便任何面临类似问题的人都能理解失败背后的原因.

================================================== ==========

我最近尝试从Php 5.3切换到Php 5.4,我的网站基于Silex停止了与WSOD的合作.

我检查了PHP错误日志,我看到: Premature end of script headers: php54.cgi

我尝试了很多东西,最后想到在线询问:(.这是我试过的:

  1. 创建了一个简单的Silex项目并检查它是否正常工作.不,不是.
  2. 在Silex初始化之前添加代码并app[debug] = true在之后设置:

    ini_set('display_errors', 1);
    error_reporting(-1);
    ErrorHandler::register();
    if ('cli' !== php_sapi_name()) {
        ExceptionHandler::register();
    }
    
    Run Code Online (Sandbox Code Playgroud)
  3. 试图检查代码的程度.但是我继续踩着.我走了直到NativeSessionStorage::start()放弃了,所以它一直工作到那时我在那里产生的任何错误都按预期正确报告.

  4. 尝试查看其他条目以了解如何修复BSOD,但是没有一个真正解释过如何通过从PHP 5.3迁移到PHP 5.4来改变事情!这就是我所做的一切.刚刚更改了PHP版本和PHP.INI.下面是我现在使用的PHP.INI.

    ;                           |PIG v0.3.2.1|
    [PHP]
      open_basedir = 
      engine = 1
      zend.ze1_compatibility_mode = 
      short_open_tag = 1
      asp_tags = 
      precision = 14
      y2k_compliance = 1
      output_buffering = …
    Run Code Online (Sandbox Code Playgroud)

php wsod silex php-5.4

5
推荐指数
1
解决办法
362
查看次数

直接访问受保护方法和使用send之间的区别

为什么以下代码中的两种类型的调用方法之间存在差异:

class Access
    def method_missing name
        print "Method is missing"
    end

    protected
    def protected_method
        print "Calling Protected Method"
    end
end

access = Access.new
access.protected_method #Method is missing
access.send(:protected_method) #Calling Protected Method
Run Code Online (Sandbox Code Playgroud)

access.protected_method按预期工作.但该send选项尝试调用该方法,即使它受到保护.我想知道内部发生了什么.

我得到一个要调用的方法的字符串,所以我想使用,send但我不想调用受保护的方法.

ruby class

4
推荐指数
1
解决办法
208
查看次数

标签 统计

class ×1

php ×1

php-5.4 ×1

ruby ×1

silex ×1

wsod ×1