小编Mar*_*arc的帖子

PHP $ _POST变量有时是空的

我是一个PHP新手,当我提交它们时,我有一个问题,POST变量有时是空的.让我难以理解的部分是每次都不会发生这种情况,我通常只需刷新页面就可以在PHP程序中获取发布数据.有时它需要几次,但一旦数据通过一次,它将继续通过罚款.

其他PHP应用程序(Wordpress和其他)工作正常,从不给出任何错误,所以我很确定我的PHP应用程序有问题.

我在CentOS 5.2服务器上安装了PHP 4.2.9,并将KeepAliveTimeout设置为1.

我处理提交数据的应用程序代码:

<?php
    session_start(); 
    if (isset($_SESSION['username'])) {
        $expire = time() + (60*60*24*30);
        setcookie("username", $_SESSION['username'], $expire);
    }

    header("Cache-control: no-cache");

    if (!isset($_SESSION['username'])) {
        header('Location: ./login.php');
        die();
    }

    if(empty($_SERVER['CONTENT_TYPE'])){
        $type = "application/x-www-form-urlencoded";
        $_SERVER['CONTENT_TYPE'] = $type;
    }

    var_dump($_POST);
    echo "\n";
    var_dump($_SERVER);
?>
Run Code Online (Sandbox Code Playgroud)

任何帮助都将不胜感激

编辑:我发现工作发布请求和失败的请求之间存在一个区别.Firebug告诉我,当帖子失败时,状态是302重定向而不是200 ok.我不确定是什么导致这种情况,但我在发送表单中有标题缓存控件,就像它出现在上面的代码片段中一样.

有任何想法吗?

php post

8
推荐指数
2
解决办法
1万
查看次数

延迟作业给出未定义的方法错误

延迟作业(2.1.4)在我的开发机器上完美运行,发送同性恋放弃的电子邮件 - 但是当使用Apache/Passenger(3.0.7)在我的服务器上运行时,它失败了.两个顺便说一下Rails 3.0.7和ruby 1.9.2.

我已经看到在使用thin创建作业时出现问题:

--- !ruby/struct:Delayed::PerformableMailer
object: !ruby/object:Class UserMailer
Run Code Online (Sandbox Code Playgroud)

什么时候应该读:

--- !ruby/struct:Delayed::PerformableMailer
object: !ruby/class UserMailer 
Run Code Online (Sandbox Code Playgroud)

我的开发机器上正确创建了我的,但在服务器上创建时却是错误的.

有没有其他人有这个问题,我应该从哪里开始寻找?

堆栈跟踪:

{undefined method `standard_message' for #<Class:0xc6ad054>
/home/safrea/site/shared/bundle/ruby/1.9.1/gems/delayed_job-2.1.4/lib/delayed/performable_mailer.rb:6:in `perform'\n
/home/safrea/site/shared/bundle/ruby/1.9.1/gems/delayed_job-2.1.4/lib/delayed/backend/base.rb:87:in `invoke_job'\n
/home/safrea/site/shared/bundle/ruby/1.9.1/gems/delayed_job-2.1.4/lib/delayed/worker.rb:120:in `block (2 levels) in run'\n
/usr/local/rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/timeout.rb:57:in `timeout'\n
/home/safrea/site/shared/bundle/ruby/1.9.1/gems/delayed_job-2.1.4/lib/delayed/worker.rb:120:in `block in run'\n
/usr/local/rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/benchmark.rb:309:in `realtime'\n
/home/safrea/site/shared/bundle/ruby/1.9.1/gems/delayed_job-2.1.4/lib/delayed/worker.rb:119:in `run'\n
/home/safrea/site/shared/bundle/ruby/1.9.1/gems/delayed_job-2.1.4/lib/delayed/worker.rb:177:in `reserve_and_run_one_job'\n
/home/safrea/site/shared/bundle/ruby/1.9.1/gems/delayed_job-2.1.4/lib/delayed/worker.rb:104:in `block in work_off'\n
/home/safrea/site/shared/bundle/ruby/1.9.1/gems/delayed_job-2.1.4/lib/delayed/worker.rb:103:in `times'\n
/home/safrea/site/shared/bundle/ruby/1.9.1/gems/delayed_job-2.1.4/lib/delayed/worker.rb:103:in `work_off'\n
/home/safrea/site/shared/bundle/ruby/1.9.1/gems/delayed_job-2.1.4/lib/delayed/worker.rb:78:in `block (2 levels) in start'\n
/usr/local/rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/benchmark.rb:309:in `realtime'\n
/home/safrea/site/shared/bundle/ruby/1.9.1/gems/delayed_job-2.1.4/lib/delayed/worker.rb:77:in `block in start'\n
/home/safrea/site/shared/bundle/ruby/1.9.1/gems/delayed_job-2.1.4/lib/delayed/worker.rb:74:in `loop'\n
/home/safrea/site/shared/bundle/ruby/1.9.1/gems/delayed_job-2.1.4/lib/delayed/worker.rb:74:in `start'\n
/home/safrea/site/shared/bundle/ruby/1.9.1/gems/delayed_job-2.1.4/lib/delayed/command.rb:104:in `run'\n
/home/safrea/site/shared/bundle/ruby/1.9.1/gems/delayed_job-2.1.4/lib/delayed/command.rb:83:in `block in run_process'\n
/home/safrea/site/shared/bundle/ruby/1.9.1/gems/daemons-1.1.3/lib/daemons/application.rb:249:in `call'\n
/home/safrea/site/shared/bundle/ruby/1.9.1/gems/daemons-1.1.3/lib/daemons/application.rb:249:in …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails delayed-job ruby-on-rails-3

6
推荐指数
1
解决办法
1688
查看次数

Ruby Enterprise Edition以错误的格式提供Time.now

在我的VPS(Ubuntu 10.04LTS)上,我通过RVM安装了ree-1.8.7-2011.03和ruby-1.9.2-p180.我的问题是,当我在ree-1.8.7(irb)中调用Time.now时,我得到 Thu May 12 12:16:50 +0200 2011,当我在ruby-1.9.2(irb)中执行相同操作时,我得到了2011-05-12 12:17:44 +0200.

问题是我的rails查询中的日期的ree版本是不可用的(生成的SQL只是简单的破坏).在每个查询中使用strftime格式化时间目前不是一个选项,也没有切换到1.9.2,所以我需要你的帮助来弄清楚为什么会发生这种情况并修复它.

谢谢你的帮助!

ruby locale ruby-on-rails ruby-enterprise-edition ruby-on-rails-3

0
推荐指数
1
解决办法
247
查看次数