类似Rails的PHP控制台?
有时候,在本地PHP开发环境中工作,而在服务器上的测试环境中则不工作。调试这个是一场噩梦。如果我有Rails提供的控制台,调试就会简单得多 除了PHP,还有其他类似Rails控制台的东西吗类似Rails的PHP控制台?,php,console,debugging,Php,Console,Debugging,有时候,在本地PHP开发环境中工作,而在服务器上的测试环境中则不工作。调试这个是一场噩梦。如果我有Rails提供的控制台,调试就会简单得多 除了PHP,还有其他类似Rails控制台的东西吗 我应该提到的是,我正在使用一个home brewn PHP应用程序。PHP通过运行PHP-a提供了一个基本的交互式shell。不过,它没有基于框架的控制台的功能 更多信息可以在文档中找到:就像webbiedave提到的php是一种语言,Rails是Ruby的框架。但是,您可以在php脚本中插入“断点”——或者
我应该提到的是,我正在使用一个home brewn PHP应用程序。PHP通过运行
PHP-a
提供了一个基本的交互式shell。不过,它没有基于框架的控制台的功能
更多信息可以在文档中找到:就像webbiedave提到的php是一种语言,Rails是Ruby的框架。但是,您可以在php脚本中插入“断点”——或者从浏览器执行——或者如果安装了php cli,则从cli执行脚本(这与浏览器不完全相同,但也可能提供更多有用的信息) 其他一些技巧-转储每台机器、开发和生产的环境设置(使用一个简单的脚本
<?php phpinfo(); ?>
并比较不同之处—这可能有助于突出显示环境之间某些部分出现故障的原因
最后,您可以使用php交互运行php—这与使用irb和ruby非常相似,但在这种情况下可能没有那么大帮助。您可以使用php cli的
-d
和-a
标志来滚动您自己的应用程序控制台。它类似于:
php -d auto_prepend_file=init.php -a
您的init.php
将是引导您的应用程序代码的任何文件。例如,对于WordPress,这将是wp-load.php
php-a
不是很有用
我建议您编写一个如下的小脚本,并将其放入/usr/bin:
import readline
from subprocess import call
pre_lines = """
ini_set("display_errors", 1);
error_reporting(E_ALL);
date_default_timezone_set("GMT");
"""
if __name__ == '__main__':
try:
call(["php", "--version"])
print
while True:
user_input = raw_input('php> ')
if user_input.strip() == "":
continue
elif user_input.find("=")>=0 and user_input.find("==")==-1:
pre_lines += user_input + ";\n"
elif user_input.find(";")>=0:
call(["php", "-r", "%s\n%s" % (pre_lines, user_input)])
else:
call(["php", "-r", "%s\nvar_export(%s);" % (pre_lines, user_input)])
print
except EOFError:
print "Bye"
except KeyboardInterrupt:
print "Bye"
except OSError:
print "You either don't have PHP installed, or the PHP binary is not in PATH"
有了上面的内容,您就可以轻松地获得readline支持和检查公式值。Symfony框架有一个很好的控制台界面。它非常有用。PHP是一种语言。Rails是一个框架。@webbiedave Ruby语言本身有一个控制台:“irb”。Rails控制台就是建立在这个基础上的。我遇到的问题实际上是由于测试数据库中的错误数据,所以查看系统配置并不总是有帮助的。我认为这是最接近我要查找的内容。