我在共享主机上有Cpanel,Apache,PHP由fastcgi运行.PHP存储错误日志在哪里?
有没有其他方法可以在共享主机环境中找到错误日志,而不必通过整个站点结构来查找error_log文件?
我可以访问php.ini
(我使用的是PHP版本5.2.16).
我有一个php的网站,它与solr索引服务器一起使用,基于CodeIgniter.
我们获得了很多新内容,因此我们刷新了数据库,并且必须重新索引内容(大约168,000个元素).我创建了一个脚本,通过500个切片对内容进行索引 - 当脚本完成时,我们启动下一个索引.
它在我的本地测试环境中完美运行,但在生产中我得到这500个错误:
[Thu Dec 02 ...] [error] [client IP] Premature end of script headers: index.php
Run Code Online (Sandbox Code Playgroud)
我的php.log中没有任何内容,只有返回它的apache error_log.我已经看到它发生在网站的其他页面上一两次,但它是在这个索引期间.
有任何想法吗?
运行以下脚本时,出现"脚本头过早结束:contactform.cgi"错误消息.让我感到沮丧的是,我在另一台服务器上以.php的形式运行它并且它有效.但是,我不得不更换服务器,它们只支持CGI PHP.但是,它不起作用.我不认为代码是错误的,但请看一下以防万一.
我已经读过,有些人说这是权限问题.这可能是我的情况吗?
我知道"display_errors"和"error_reporting"语句会在错误日志中显示错误,但如果我无法访问服务器,我该如何查看日志?
#!/usr/local/bin/php
<?php
print "Content-type: text/html\n\n";
use CGI::Carp qw(fatalsToBrowser);
ini_set('display_errors',1);
error_reporting(E_ALL);
if(isset($_POST['email'])) {
//Email this form to me
$email_to = "myemail@site.com";
function died($error) {
// your error code can go here
echo "Oops... something's wrong. ";
echo "Fix the error(s) below:<br /><br />";
echo $error."<br /><br />";
die();
}
// validation expected data exists
if(!isset($_POST['first_name']) ||
!isset($_POST['last_name']) ||
!isset($_POST['email']) ||
!isset($_POST['subject']) ||
!isset($_POST['comments'])) {
died('There appears to be a problem with the form you submitted.');
}
$first_name …
Run Code Online (Sandbox Code Playgroud)