2015-07-04 56 views
1

我试图通过运行以下命令部署一个PHP的网站,谷歌应用程序引擎:谷歌App Engine的部署错误:伪造逃生

appcfg.py -A <app-id> update <app-location> 

我不断收到以下错误:

Traceback (most recent call last): 

... 

line 327, in __GetMimeTypeIfStaticFile 
    if re.match(regex, filename): 
    File "C:\python27\lib\re.py", line 137, in match 
    return _compile(pattern, flags).match(string) 
    File "C:\python27\lib\re.py", line 242, in _compile 
    raise error, v # invalid expression 
sre_constants.error: bogus escape: '\\1' 

我不确定是否存在Python无法识别的MIME类型,或者某些文件被Google阻止。我试图通过部署代码,但有很多引用,我必须追查。有没有人有任何想法?

完整堆栈跟踪:

Traceback (most recent call last): 
    File "C:\Program Files\Google\Cloud SDK\google-cloud-sdk\platform/google_appengine\appcfg.py", line 133, in <module> 
    run_file(__file__, globals()) 
    File "C:\Program Files\Google\Cloud SDK\google-cloud-sdk\platform/google_appengine\appcfg.py", line 129, in run_file 
    execfile(_PATHS.script_file(script_name), globals_) 
    File "C:\Program Files\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\google\appengine\tools\appcfg.py", 
line 5511, in <module> 
    main(sys.argv) 
    File "C:\Program Files\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\google\appengine\tools\appcfg.py", 
line 5502, in main 
    result = AppCfgApp(argv).Run() 
    File "C:\Program Files\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\google\appengine\tools\appcfg.py", 
line 3021, in Run 
    self.action(self) 
    File "C:\Program Files\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\google\appengine\tools\appcfg.py", 
line 5158, in __call__ 
    return method() 
    File "C:\Program Files\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\google\appengine\tools\appcfg.py", 
line 3880, in Update 
    self._UpdateWithParsedAppYaml(appyaml, self.basepath) 
    File "C:\Program Files\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\google\appengine\tools\appcfg.py", 
line 3933, in _UpdateWithParsedAppYaml 
    self.UpdateVersion(rpcserver, basepath, appyaml, APP_YAML_FILENAME) 
    File "C:\Program Files\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\google\appengine\tools\appcfg.py", 
line 3818, in UpdateVersion 
    return appversion.DoUpload(paths, openfunc) 
    File "C:\Program Files\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\google\appengine\tools\appcfg.py", 
line 2441, in DoUpload 
    self._AddFilesThatAreSmallEnough(paths, openfunc) 
    File "C:\Program Files\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\google\appengine\tools\appcfg.py", 
line 2540, in _AddFilesThatAreSmallEnough 
    self.config, path, self.error_fh) 
    File "C:\Program Files\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\google\appengine\tools\appcfg.py", 
line 298, in __init__ 
    self.__static_mime_type = self.__GetMimeTypeIfStaticFile(config, filename) 
    File "C:\Program Files\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\google\appengine\tools\appcfg.py", 
line 327, in __GetMimeTypeIfStaticFile 
    if re.match(regex, filename): 
    File "C:\python27\lib\re.py", line 137, in match 
    return _compile(pattern, flags).match(string) 
    File "C:\python27\lib\re.py", line 242, in _compile 
    raise error, v # invalid expression 
sre_constants.error: bogus escape: '\\1' 

这里是我的app.yaml文件的内容:

application: <app-id> 
version: 1 
runtime: php55 
api_version: 1 
threadsafe: yes 

handlers: 

- url: /(.*\.(css|js|png|jpg|jpeg|ttf|woff|xsl|htm|html|ico).*)$ 
    static_files: \1 
    upload: \1 

- url: /(.+\.php)$ 
    script: \1 

- url: /(.+)/$ 
    script: \1/default.php 

- url: /(.+)$ 
    script: \1.php 

- url: /|/default.php 
    script: default.php 
+0

什么在你的app.yaml? – Greg

+0

@Greg请参阅编辑。 –

回答

3

不能使用匹配的组(\1)作为upload:值它是静态处理程序的一部分 - 它需要准确知道要将哪些文件上传到静态服务器。