有人可以指出PHP可以施加的所有不同内存/时间/[任何]限制的列表吗?简而言之,-103 (ERR_CONNECTION_ABORTED)
当仅用某些参数实例化对象时,Apache 会给我一个错误。我首先在 Rackspace 的 Cloud Sites 平台上体验了这一点,然后在我的本地 Windows 机器上体验了这一点。我还没有看到问题出现在 Rackspace 的 CentOS 云服务器之一上。
其他详情:
- 请求在终止之前持续了大约 4 秒。
- 在请求期间,httpd 进程的内存使用量从 ~15M 跃升至 ~30M。
ini_get('memory_limit')
返回 264M。ini_get('max_execution_time')
返回 60。- PHP 版本是 5.4.7。
- Apache 版本是 2.4.3。
- 底层 PHP 应用程序是Lemonstand。
基本上,我正在创建一个Shop_CustomerGroup
继承自Db_ActiveRecord
. 当 的构造函数Db_ActiveRecord
尝试创建Phpr_Validation
.
<?php
class Db_ActiveRecord extends Db_SqlBase implements IteratorAggregate
{
// More code...
public function __construct($values = null, $options = array())
{
$this->modelState = self::stateCreating;
$this->model_options = $options;
$this->implement = Phpr_Util::splat($this->implement, true);
array_unshift($this->implement, 'Phpr_Events');
parent::__construct();
$this->initialize();
self::$object_counter++;
$this->objectId = 'ac_obj_'.self::$object_counter;
if (!$this->get_model_option('no_validation'))
{
if (!empty($options['test'])) {
// If I pass in `null`, 'foo' gets thrown. But if I pass in `$this`, the script appears to die.
$this->validation = new Phpr_Validation($this, 'test');
} else {
$this->validation = new Phpr_Validation($this);
}
$this->validation->focusPrefix = get_class($this)."_";
}
// Fill with data
if ($values !== null)
{
$this->fill($values);
$this->fill_relations($values);
}
$this->modelState = self::stateCreated;
}
// More code...
}
class Phpr_Validation
{
// More code...
public function __construct( $Owner = null, $FormId = 'FormElement' )
{
if ($FormId == 'test')
throw new Phpr_ApplicationException('foo');
$this->_owner = $Owner;
$this->_formId = $FormId;
$this->_fields = array();
$this->errorFields = array();
$this->valid = false;
$this->errorMessage = null;
$this->fieldErrors = array();
$this->fieldValues = array();
}
// More code...
}
除非传递给对象的构造函数有什么特别之处,否则$this
我确信我遇到了某种限制。我只是不知道这个限制可能是什么。
任何帮助表示赞赏!谢谢!
更新1:
请求网址:
https://[DOMAIN_NAME]/checkout/new_account
请求标头
POST https://[DOMAIN_NAME]/checkout/new_account HTTP/1.1
Pragma: no-cache
Origin: [DOMAIN_NAME]
PHPR-EVENT-HANDLER: ev{onHandleRequest}
Cache-Control: no-cache
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.64 Safari/537.31
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Accept: */*
PHPR-POSTBACK: 1
Referer: https://[DOMAIN_NAME]/checkout/new_account
X-Requested-With: XMLHttpRequest
PHPR-REMOTE-EVENT: 1
阿帕奇配置
<VirtualHost [IP_ADDRESS]:443>
ServerAdmin postmaster@[DOMAIN_NAME]
DocumentRoot "[PATH...]"
ServerName [DOMAIN_NAME]
SSLEngine on
SSLCertificateFile "conf/ssl.crt/[DOMAIN_NAME].crt"
SSLCertificateKeyFile "conf/ssl.key/[DOMAIN_NAME].key"
<Directory "[PATH...]">
AllowOverride All
Order allow,deny
Allow from all
</Directory>
ErrorLog "logs/[DOMAIN_NAME]-ssl-error.log"
</VirtualHost>
更新 2:
xampp\apache\logs\error.log
- [2013 年 5 月 6 日星期一 18:44:49.119268] [ssl:warn] [pid 8820:tid 396] AH01873:初始化:未配置会话缓存 [提示:SSLSessionCache]
- [2013 年 5 月 6 日星期一 18:44:49.159268] [mpm_winnt:notice] [pid 8820:tid 396] AH00455: Apache/2.4.3 (Win32) OpenSSL/1.0.1c PHP/5.4.7 已配置 -- 恢复正常操作
- [2013 年 5 月 6 日星期一 18:44:49.159268] [mpm_winnt:notice] [pid 8820:tid 396] AH00456:服务器建成时间:2012 年 8 月 18 日 12:41:37
- [Mon May 06 18:44:49.159268 2013] [core:notice] [pid 8820:tid 396] AH00094:命令行:'C:\xampp\apache\bin\httpd.exe -d C:/xampp/apache'
- [Mon May 06 18:44:49.160268 2013] [mpm_winnt:notice] [pid 8820:tid 396] AH00418: Parent: Created child process 15352
- [2013 年 5 月 6 日星期一 18:44:50.017268] [ssl:warn] [pid 15352:tid 272] AH01873:初始化:未配置会话缓存 [提示:SSLSessionCache]
- [2013 年 5 月 6 日星期一 18:44:50.057268] [mpm_winnt:notice] [pid 15352:tid 272] AH00354:子级:启动 150 个工作线程。
- [2013 年 5 月 6 日星期一 18:45:43.777268] [mpm_winnt:notice] [pid 8820:tid 396] AH00428:父进程:子进程退出,状态为 255 -- 正在重新启动。
- [2013 年 5 月 6 日星期一 18:45:44.154268] [ssl:warn] [pid 8820:tid 396] AH01873:初始化:未配置会话缓存 [提示:SSLSessionCache]
- [Mon May 06 18:45:44.193268 2013] [mpm_winnt:notice] [pid 8820:tid 396] AH00455: Apache/2.4.3 (Win32) OpenSSL/1.0.1c PHP/5.4.7 已配置 -- 恢复正常操作
- [2013 年 5 月 6 日星期一 18:45:44.193268] [mpm_winnt:notice] [pid 8820:tid 396] AH00456:服务器构建:2012 年 8 月 18 日 12:41:37
- [Mon May 06 18:45:44.193268 2013] [core:notice] [pid 8820:tid 396] AH00094:命令行:'C:\xampp\apache\bin\httpd.exe -d C:/xampp/apache'
- [Mon May 06 18:45:44.194268 2013] [mpm_winnt:notice] [pid 8820:tid 396] AH00418: Parent: Created child process 12524
- [Mon May 06 18:45:45.018268 2013] [ssl:warn] [pid 12524:tid 272] AH01873:初始化:未配置会话缓存 [提示:SSLSessionCache]
- [2013 年 5 月 6 日星期一 18:45:45.056268] [mpm_winnt:notice] [pid 12524:tid 272] AH00354:子级:启动 150 个工作线程。
xampp\apache\logs[DOMAIN_NAME]-ssl-error.log
- [Mon May 06 18:44:48.777268 2013] [ssl:warn] [pid 8820:tid 396] AH01906:RSA 服务器证书是 CA 证书(BasicConstraints:CA == TRUE !?)
- [Mon May 06 18:44:49.119268 2013] [ssl:warn] [pid 8820:tid 396] AH01906:RSA 服务器证书是 CA 证书(BasicConstraints:CA == TRUE !?)
- [Mon May 06 18:44:49.683268 2013] [ssl:warn] [pid 15352:tid 272] AH01906:RSA 服务器证书是 CA 证书(BasicConstraints:CA == TRUE !?)
- [Mon May 06 18:44:50.018268 2013] [ssl:warn] [pid 15352:tid 272] AH01906:RSA 服务器证书是 CA 证书(BasicConstraints:CA == TRUE !?)
- [Mon May 06 18:45:44.154268 2013] [ssl:warn] [pid 8820:tid 396] AH01906:RSA 服务器证书是 CA 证书(BasicConstraints:CA == TRUE !?)
- [Mon May 06 18:45:44.680268 2013] [ssl:warn] [pid 12524:tid 272] AH01906:RSA 服务器证书是 CA 证书(BasicConstraints:CA == TRUE !?)
- [Mon May 06 18:45:45.018268 2013] [ssl:warn] [pid 12524:tid 272] AH01906:RSA 服务器证书是 CA 证书(BasicConstraints:CA == TRUE !?)
更新 3事件查看器中的 Apache 错误
Faulting application name: httpd.exe, version: 2.4.3.0, time stamp: 0x502f70a3
Faulting module name: php5ts.dll, version: 5.4.7.0, time stamp: 0x505114f8
Exception code: 0xc0000005
Fault offset: 0x0005d719
Faulting process id: 0x24f8
Faulting application start time: 0x01ce4b5683b7a39a
Faulting application path: C:\xampp\apache\bin\httpd.exe
Faulting module path: C:\xampp\php\php5ts.dll
Report Id: f646e88a-b749-11e2-9017-005056c00008