首先是一些信息:
mail()在这种情况下使用.对于我所有其他项目,我已经使用SMTP邮件.我已经将站点超时问题与PHP mail()函数隔离开来了.这是我服务器上test.php文件中唯一的代码行:
<?php mail('rudolf@geardev.de', 'test', 'test');
Run Code Online (Sandbox Code Playgroud)
这似乎是无止境的,然后在40秒后被mod_cgi终止.命令
php -r "mail('rudolf@geardev.de', 'test', 'test');"
Run Code Online (Sandbox Code Playgroud)
在命令行上立即发送电子邮件.
请告诉我你想看哪些日志文件,Apache日志是这样的:
[Thu Jan 17 12:17:00 2013] [warn] [client 178.15.148.43] mod_fcgid: read data timeout in 40 seconds
[Thu Jan 17 12:17:00 2013] [error] [client 178.15.148.43] Premature end of script headers: test.php
Run Code Online (Sandbox Code Playgroud)
我认为问题是我chmod -R 775几天前意外地在根目录上运行了.除了这一个,我已经修复了所有错误.
我的黄瓜只是找不到步骤定义.文件结构(只有Rails根目录下的specs文件夹)如下所示:
-> specs
-> features
-> main_structure.feature
-> step_definitions
-> main_structure_steps.rb
Run Code Online (Sandbox Code Playgroud)
这是main_structure.feature:
Feature: Main structure
Scenario: Viewing the Structure page
When I am on the structure page
Run Code Online (Sandbox Code Playgroud)
这是main_structure_steps.rb:
When(/^I am on the structure page$/) do
visit '/'
end
Run Code Online (Sandbox Code Playgroud)
现在我像这样运行黄瓜命令:
? cucumber spec/features -r features
Run Code Online (Sandbox Code Playgroud)
我得到这个输出:
Using the default profile...
Feature: Main structure
Scenario: Viewing the Structure page # spec/features/main_structure.feature:2
When I am on the structure page # spec/features/main_structure.feature:3
Undefined step: "I am on the structure page" (Cucumber::Undefined)
spec/features/main_structure.feature:3:in `When I …Run Code Online (Sandbox Code Playgroud) 我的问题如下:为了保持脚本的顺序,我总是在 if 语句中放置大量空格,如下所示:
if( ! isset( $_GET['user'] ) || ! isset( $_GET['user'] ) )
...
Run Code Online (Sandbox Code Playgroud)
有时,尽管一切似乎都是正确的,但这会产生“意外的 T_STRING...”等错误。然后我将行更改为:
if(!isset($_GET['user'])||!isset($_GET['user']))
...
Run Code Online (Sandbox Code Playgroud)
保存文件,重新插入空格,再次保存文件,一切正常。任何想法可能导致这种情况?这可能是PHP解析器的错误吗?
(这不是专门的这个语句,它发生在许多这样的空格中——包括语句)
编辑:我只是设法将文件恢复到它不起作用时,这是产生错误的确切代码:
if(! isset( $_GET['user'] ) || ! isset( $_GET['parent'] ) )
Run Code Online (Sandbox Code Playgroud)
我也改变了每个字符的顺序,这似乎是之间的空间||和!。
错误消息说:
Parse error: syntax error, unexpected T_STRING, expecting ',' or ')' in ...
Run Code Online (Sandbox Code Playgroud)
你可以在这里下载文件:http : //geardev.de/test.zip