Magento自定义rest API在本地主机上工作,但在服务器上引发内部服务器错误

Magento自定义rest API在本地主机上工作,但在服务器上引发内部服务器错误,rest,api,magento,internal-server-error,Rest,Api,Magento,Internal Server Error,我们创建了两个自定义API,它们在localhost上运行良好,但在服务器上,其中一个会给出服务器的内部服务器错误 在错误日志中,我们得到以下信息: [Fri Jul 14 16:06:46.397538 2017] [core:error] [pid 7894:tid 139744927274752] [client 5.2.174.151:40133] malformed header from script 'index.php': Bad header: content-type 在A

我们创建了两个自定义API,它们在localhost上运行良好,但在服务器上,其中一个会给出服务器的内部服务器错误

在错误日志中,我们得到以下信息:

[Fri Jul 14 16:06:46.397538 2017] [core:error] [pid 7894:tid 139744927274752] [client 5.2.174.151:40133] malformed header from script 'index.php': Bad header: content-type
在API中,我们将标题内容类型设置为application/json

<?php header('content-type','application/json'); ?>

localhost和server上的php版本与5.6.31相同

这是htaccess:

DirectoryIndex index.php

<IfModule mod_php5.c>
php_value memory_limit 768M
php_value max_execution_time 18000
php_flag session.auto_start off
php_flag suhosin.session.cryptua off
</IfModule>

<IfModule mod_php7.c>
php_value memory_limit 768M
php_value max_execution_time 18000
php_flag session.auto_start off
php_flag suhosin.session.cryptua off
</IfModule>
<IfModule mod_security.c>
SecFilterEngine Off
SecFilterScanPOST Off
</IfModule>
<IfModule mod_ssl.c>
SSLOptions StdEnvVars
</IfModule>
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine on
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteCond %{REQUEST_METHOD} ^TRAC[EK]
RewriteRule .* - [L,R=405]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule .* index.php [L]
</IfModule>
AddDefaultCharset Off
AddType 'text/html; charset=UTF-8' html
<IfModule mod_expires.c>
ExpiresDefault "access plus 1 year"
ExpiresByType text/html A0
ExpiresByType text/plain A0
</IfModule>
RedirectMatch 403 /\.git
<Files composer.json>
    order allow,deny
    deny from all
</Files>
<Files composer.lock>
    order allow,deny
    deny from all
</Files>
<Files .gitignore>
    order allow,deny
    deny from all
</Files>
<Files .htaccess>
    order allow,deny
    deny from all
</Files>
<Files .htaccess.sample>
    order allow,deny
    deny from all
</Files>
<Files .php_cs>
    order allow,deny
    deny from all
</Files>
<Files .travis.yml>
    order allow,deny
    deny from all
</Files>
<Files CHANGELOG.md>
    order allow,deny
    deny from all
</Files>
<Files CONTRIBUTING.md>
    order allow,deny
    deny from all
</Files>
<Files COPYING.txt>
    order allow,deny
    deny from all
</Files>
<Files Gruntfile.js>
    order allow,deny
    deny from all
</Files>
<Files LICENSE.txt>
    order allow,deny
    deny from all
</Files>
<Files LICENSE_AFL.txt>
    order allow,deny
    deny from all
</Files>
<Files nginx.conf.sample>
    order allow,deny
    deny from all
</Files>
<Files package.json>
    order allow,deny
    deny from all
</Files>
<Files php.ini.sample>
    order allow,deny
    deny from all
</Files>
<Files README.md>
    order allow,deny
    deny from all
</Files>
<Files magento_umask>
    order allow,deny
    deny from all
</Files>
ErrorDocument 404 /pub/errors/404.php
ErrorDocument 403 /pub/errors/404.php
<IfModule mod_headers.c>
Header set X-UA-Compatible "IE=edge"
<FilesMatch "\.(appcache|atom|bbaw|bmp|crx|css|cur|eot|f4[abpv]|flv|geojson|gif|htc|ico|jpe?g|js|json(ld)?|m4[av]|manifest|map|mp4|oex|og[agv]|opus|otf|pdf|png|rdf|rss|safariextz|svgz?|swf|topojson|tt[cf]|txt|vcard|vcf|vtt|webapp|web[mp]|webmanifest|woff2?|xloc|xml|xpi)$">
    Header unset X-UA-Compatible
</FilesMatch>
</IfModule>
<IfModule mod_headers.c>
# with AJAX withCredentials=false (cookies NOT sent)
Header always set Access-Control-Allow-Origin "*"  
Header always set Access-Control-Allow-Credentials  "true"              
Header always set Access-Control-Allow-Methods "POST, GET, PUT, PATCH, DELETE, OPTIONS"
Header always set Access-Control-Allow-Headers "Content-Type, Authorization"
RewriteEngine On                  
RewriteCond %{REQUEST_METHOD} OPTIONS
RewriteRule ^(.*)$ $1 [R=200,L,E=HTTP_ORIGIN:%{HTTP:ORIGIN}]]
# RewriteRule ^(.*)$ $1 [R=200,L]
DirectoryIndex.php
php_值内存_限制768M
php_值最大执行时间18000
php_标志session.auto_启动
关闭php_标志suhosin.session.cryptua
php_值内存_限制768M
php_值最大执行时间18000
php_标志session.auto_启动
关闭php_标志suhosin.session.cryptua
分离过滤器发动机关闭
secfilters可以关闭
斯登维加斯酒店
选项+FollowSymLinks
重新启动发动机
重写规则。*-[E=HTTP\U授权:%{HTTP:AUTHORIZATION}]
RewriteCond%{REQUEST_METHOD}^TRAC[EK]
重写规则。*-[L,R=405]
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写cond%{REQUEST_FILENAME}-L
重写规则。*index.php[L]
添加默认字符集
AddType’text/html;字符集=UTF-8'html
ExpiresDefault“访问权限加1年”
ExpiresByType文本/html A0
ExpiresByType文本/普通A0
重定向匹配403/\.git
命令允许,拒绝
全盘否定
命令允许,拒绝
全盘否定
命令允许,拒绝
全盘否定
命令允许,拒绝
全盘否定
命令允许,拒绝
全盘否定
命令允许,拒绝
全盘否定
命令允许,拒绝
全盘否定
命令允许,拒绝
全盘否定
命令允许,拒绝
全盘否定
命令允许,拒绝
全盘否定
命令允许,拒绝
全盘否定
命令允许,拒绝
全盘否定
命令允许,拒绝
全盘否定
命令允许,拒绝
全盘否定
命令允许,拒绝
全盘否定
命令允许,拒绝
全盘否定
命令允许,拒绝
全盘否定
命令允许,拒绝
全盘否定
ErrorDocument 404/pub/errors/404.php
ErrorDocument 403/pub/errors/404.php
标题集X-UA-兼容“IE=edge”
标题未设置X-UA-Compatible
#使用AJAX withCredentials=false(未发送cookies)
标题始终设置访问控制允许原点“*”
标头始终将访问控制允许凭据设置为“true”
Header始终设置访问控制允许方法“POST、GET、PUT、PATCH、DELETE、OPTIONS”
标头始终设置访问控制允许标头“内容类型,授权”
重新启动发动机
重写cond%{REQUEST_METHOD}选项
重写规则^(.*)$$1[R=200,L,E=HTTP_ORIGIN:%{HTTP:ORIGIN}]]
#重写规则^(.*)$$1[R=200,L]


任何建议都将不胜感激,谢谢。

您能公布实际标题值吗?有时它会自动添加UTF8,一些(愚蠢的)系统会因此而阻塞。嗨,很抱歉响应太晚,当我调用API的url时,我从标题中得到了这些信息。数组([0]=>HTTP/1.1200 OK[1]=>日期:2017年7月17日星期一08:05:51 GMT[2]=>服务器:Apache[3]=>上次修改:2017年7月17日星期一07:56:23 GMT[4]=>接受范围:字节[5]=>内容长度:3268[6]=>连接:关闭[7]=>内容类型:文本/html)1异常:异常#0(异常):警告:无法修改标题信息-标题已发送到感兴趣的。。。你在localhost上没有发现异常吗?没有,我在localhost上没有发现异常,在那里一切似乎都正常。这很奇怪…你能公布实际的标题值是什么吗?有时它会自动添加UTF8,一些(愚蠢的)系统会因此而阻塞。嗨,很抱歉响应太晚,当我调用API的url时,我从标题中得到了这些信息。数组([0]=>HTTP/1.1200 OK[1]=>日期:2017年7月17日星期一08:05:51 GMT[2]=>服务器:Apache[3]=>上次修改:2017年7月17日星期一07:56:23 GMT[4]=>接受范围:字节[5]=>内容长度:3268[6]=>连接:关闭[7]=>内容类型:文本/html)1异常:异常#0(异常):警告:无法修改标题信息-标题已发送到感兴趣的。。。你在localhost上没有发现异常吗?没有,我在localhost上没有发现异常,在那里一切似乎都正常。这很奇怪。。。