2015-07-04 2 views
1

Я пытаюсь развернуть PHP сайт в Google App Engine, выполнив следующую команду:Google App Engine Deploy Ошибка: Bogus побег

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' 

Я не уверен, есть ли MIME-тип, который Python не распознает или есть определенные файлы, заблокированные 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: часть статического обработчика - он должен точно знать, какие файлы загружать на статические серверы.

Смежные вопросы