Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 发布数据时,是什么导致mod_security 406不可接受?_Php_Apache_Post_Mod Security_Http Status Code 406 - Fatal编程技术网

Php 发布数据时,是什么导致mod_security 406不可接受?

Php 发布数据时,是什么导致mod_security 406不可接受?,php,apache,post,mod-security,http-status-code-406,Php,Apache,Post,Mod Security,Http Status Code 406,我的网站上有一篇文章,内容为(降价): #PHP正确的类名 PHP中的类名不区分大小写。如果您有如下类声明: ```php 类MyWeirdClass{} ``` 您可以使用'new myWEIRDclaSS()'或案例的任何其他变体来实例化它。在某些情况下,您可能想知道什么是正确的、区分大小写的类名。 ###示例用例 例如,在我正在构建的一个库中[API Doccer](https://github.com/ReedOverflow/PHP-API-Doccer),我可以在url`/doc/

我的网站上有一篇文章,内容为(降价):

#PHP正确的类名
PHP中的类名不区分大小写。如果您有如下类声明:
```php
类MyWeirdClass{}
```
您可以使用'new myWEIRDclaSS()'或案例的任何其他变体来实例化它。在某些情况下,您可能想知道什么是正确的、区分大小写的类名。
###示例用例
例如,在我正在构建的一个库中[API Doccer](https://github.com/ReedOverflow/PHP-API-Doccer),我可以在url`/doc/class/My Namespace Clazzy/`处查看类的文档,如果输入了错误的大小写,如`/doc/class/My Namespace Clazzy`,它应该自动重定向到正确的大小写类。要做到这一点,我使用下面的反射方法,因为它比“get_\u classes”方法性能更好
##反思-获得适当的案例
贷记到[StackOverflow时为100K](https://stackoverflow.com/a/35222911/802469)
```php
$className='My\case\className';
$reflection=newreflectionclass($className);
echo$reflection->getName();
```
结果为'My\casecasecasure\ClassName';
在我的笔记本电脑上的localhost上运行基准测试(见下文),获得500个类的正确案例类名大约需要0.015秒,而使用下面的“get_declared_classes”方法大约需要0.050秒。
##获取声明的类-获取适当的大小写
这是我的想法,因为我甚至没有考虑使用反射,直到我看到[l00k关于StackOverflow的答案](https://stackoverflow.com/a/35222911/802469). 我猜想这会降低效率,所以我写了代码,并找到了答案,因为这很有趣!
```php
$ErrorCaseName='Some\classy\THIng';
类_存在($ErrorCaseName)//因此,如果尚未完成,它将自动加载
$classes=获取声明的类();
$map=array\u combine(array\u map('strtolower',$classes),$classes);
$proper=$map[strtolower($ErrorCaseName)];
```
结果为“$proper=”Some\Classy\Thing`;
在我的笔记本电脑上的localhost上运行benchmark(见下文),获得500个类的正确case类名大约需要0.050秒,而反射大约需要0.015秒(见上文)。
##基准:
我使用以下代码来做基准测试,在每次运行基准测试之间删除'classes'目录。这并不完美。完全但我认为,这项工作做得足够好:
```php

我联系了霍斯盖特。他们在白名单上加了一些东西,但没有给我详细的信息。它解决了这个问题

第一个代理花费了一段时间,未能解决问题,并且过早断开了连接


第二个代理相当及时地解决了问题,说我不应该有类似类型的包含代码的POST请求的问题。

我联系了HostGator。他们在白名单上加了一些东西,但没有给我详细的信息。它解决了这个问题

第一个代理花费了一段时间,未能解决问题,并且过早断开了连接


第二个代理相当及时地解决了这个问题,说我不应该在包含代码的类似类型的POST请求中遇到这个问题。

您需要查看Apache错误日志。如果您没有访问权限,则需要请求主机提供商查找您。Mod_Security可能会配置为阻止
phpinfo
,这可能是您在本案例中遇到的问题。我可能会问一下HostGator。如果他们阻止了,我一点也不会感到惊讶。好的,谢谢。我将与HostGator进行检查。我在HostGator中遇到了类似的问题,但在我的情况下,如果我的任何帖子字段包含两个
字符,我会得到与您相同的406错误。。。要进行故障排除的头架起重机的检查;)您需要查看Apache错误日志。如果您没有访问权限,则需要请求主机提供商查找您。Mod_Security可能会配置为阻止
phpinfo
,这可能是您在本案例中遇到的问题。我可能会问一下HostGator。如果他们阻止了,我一点也不会感到惊讶。好的,谢谢。我将与HostGator进行检查。我在HostGator中遇到了类似的问题,但在我的情况下,如果我的任何帖子字段包含两个
字符,我会得到与您相同的406错误。。。要进行故障排除的头架起重机的检查;)