0

我有一个非常简单的 php 脚本,但需要一些 wordpress 包含。我大部分都使用了他们网站上的代码,但是每当我尝试调用脚本的 require_once 部分时它都会失败。这是相关代码:

$fn = dirname(__FILE__) . '/wp-admin/includes/media.php';
if(!file_exists($fn))
{
    echo 'No File';
}
if(!is_readable($fn))
{
    echo 'File is unreadable';
}
require_once $fn;

有趣的是,当 require_once 未注释时,我得到的唯一回声是文档的完整路径。该文件既存在又可读。但是,当我取消注释 require_once 代码时,它会返回 500 错误。

在一个稍微相关的点上。调试 php.ini 的最简单方法是什么?我还没有找到任何比 VS 容易的东西(甚至像 Django 一样容易调试!!)

4

2 回答 2

0

您应该在工作站上本地开发和调试代码,而不是在共享托管服务器上。在本地工作站上,您可以访问 php.ini、Apache 错误日志和 PHP 错误日志。您还可以使用 .htaccess 文件设置项目特定的调试设置。例如,您可以为正在处理的每个不同项目配置单独的 PHP 错误日志文件。

正如@Steve Howard 指出的那样,您可以在 php.ini 中更改许多设置,以获得更详细的错误报告。事实上,大多数 LAMP 包都安装了 php.ini 的开发副本,它基本上是 php.ini 文件的模板,已针对详细的错误报告进行了优化。详细的错误报告是您希望在本地环境中进行调试的内容。在您的生产环境中,客户和潜在黑客最终会看到比他们应该看到的更多信息,这不是您想要的东西!

如果您不知道如何在您的工作站上设置 PHP,请查看 XAMPP、MAMP、Macports 等。有很多选项。您无需具备超级技术即可在计算机上设置堆栈。一旦您在计算机上设置了良好的开发环境,您就可以跟踪 PHP 错误日志和 Apache 日志。

我喜欢做的一件事是使用 PHP error_log() 函数。这允许您将自定义消息输出到 PHP 错误日志。例如,如果我正在调试代码并且我需要知道 $foo 的值是什么,我可以这样做:

<?php
error_log("Foo is: " . print_r($foo, true));

这比使用 var_dump() 或 echo 将调试数据打印到屏幕要好得多,因为它不会中断程序的正常执行或其视图层的显示。

于 2013-10-01T20:00:34.810 回答
0

PHP 在 php.ini 中有各种设置来说明日志记录的工作方式。您也可以在运行时设置它们。它可能正在某个地方记录到文件而不是显示错误。考虑尝试:

错误报告(E_ALL)

调试您的应用程序。完成工作后不要让它打开。

于 2013-10-01T18:38:08.353 回答