GAE local php – Mint linux – Le stockage des fichiers ne fonctionne pas

J’essaie de faire fonctionner une version locale de la console du développeur du moteur d’applications Google avec le stockage de fichiers. Cela fonctionne parfaitement sur plusieurs machines Windows. Pourtant, lorsque j’essaie sur un système Linux Mint, tout fonctionne sauf le stockage de fichiers.

Tout d’abord, j’ai dû append la ligne suivante au fichier php.ini:

google_app_engine.disable_readonly_filesystem = 1

Après cela, je pourrais télécharger des images, je les verrais apparaître dans la console du développeur sous blobstore Viewer. Pourtant, je ne pouvais pas les voir dans le navigateur.

Lorsque j’ai creusé dans les journaux à la suite des messages sortis.

ERROR 2016-06-08 20:15:59,459 images_stub.py:438] Could not open image  for blob_key 'encoded_gs_file:cGluZ3ZhbHVlLWJ1Y2tldC1sb2NhbC9zdG9yYWdlL2ltYWdlcy91c2Vycy8xNDY1NDE2OTU3LWltZ2pwZw==' Traceback (most recent call last): File "/home/user/Programs/google_appengine/google/appengine/api/images/images_stub.py", line 433, in _OpenBlob return Image.open(blob_file) File "/usr/local/lib/python2.7/dist-packages/PIL/Image.py", line 1991, in open raise IOError("cannot identify image file") IOError: cannot identify image file ApplicationError(4,) Traceback (most recent call last): File "/home/user/Programs/google_appengine/lib/cherrypy/cherrypy/wsgiserver/wsgiserver2.py", line 1302, in communicate req.respond() File "/home/user/Programs/google_appengine/lib/cherrypy/cherrypy/wsgiserver/wsgiserver2.py", line 831, in respond self.server.gateway(self).respond() File "/home/user/Programs/google_appengine/lib/cherrypy/cherrypy/wsgiserver/wsgiserver2.py", line 2115, in respond response = self.req.server.wsgi_app(self.env, self.start_response) File "/home/user/Programs/google_appengine/google/appengine/tools/devappserver2/wsgi_server.py", line 272, in __call__ return app(environ, start_response) File "/home/user/Programs/google_appengine/google/appengine/tools/devappserver2/module.py", line 1489, in __call__ return self._handle_request(environ, start_response) File "/home/user/Programs/google_appengine/google/appengine/tools/devappserver2/module.py", line 865, in _handle_request ret = handler.handle(match, environ, wrapped_start_response) File "/home/user/Programs/google_appengine/google/appengine/tools/devappserver2/wsgi_handler.py", line 60, in handle return self._wsgi_app(environ, start_response) File "/home/user/Programs/google_appengine/google/appengine/tools/devappserver2/blob_image.py", line 224, in __call__ return self.serve_image(environ, start_response) File "/home/user/Programs/google_appengine/google/appengine/tools/devappserver2/blob_image.py", line 213, in serve_image image, mime_type = self._transform_image(blobkey, resize, crop) File "/home/user/Programs/google_appengine/google/appengine/tools/devappserver2/blob_image.py", line 78, in _transform_image image = _get_images_stub()._OpenImageData(image_data) File "/home/user/Programs/google_appengine/google/appengine/api/images/images_stub.py", line 371, in _OpenImageData image = self._OpenBlob(image_data.blob_key()) File "/home/user/Programs/google_appengine/google/appengine/api/images/images_stub.py", line 441, in _OpenBlob images_service_pb.ImagesServiceError.BAD_IMAGE_DATA) ApplicationError: ApplicationError: 4 Traceback (most recent call last): File "/home/user/Programs/google_appengine/lib/cherrypy/cherrypy/wsgiserver/wsgiserver2.py", line 1302, in communicate req.respond() File "/home/user/Programs/google_appengine/lib/cherrypy/cherrypy/wsgiserver/wsgiserver2.py", line 831, in respond self.server.gateway(self).respond() File "/home/user/Programs/google_appengine/lib/cherrypy/cherrypy/wsgiserver/wsgiserver2.py", line 2115, in respond response = self.req.server.wsgi_app(self.env, self.start_response) File "/home/user/Programs/google_appengine/google/appengine/tools/devappserver2/wsgi_server.py", line 272, in __call__ return app(environ, start_response) File "/home/user/Programs/google_appengine/google/appengine/tools/devappserver2/module.py", line 1489, in __call__ return self._handle_request(environ, start_response) File "/home/user/Programs/google_appengine/google/appengine/tools/devappserver2/module.py", line 865, in _handle_request ret = handler.handle(match, environ, wrapped_start_response) File "/home/user/Programs/google_appengine/google/appengine/tools/devappserver2/wsgi_handler.py", line 60, in handle return self._wsgi_app(environ, start_response) File "/home/user/Programs/google_appengine/google/appengine/tools/devappserver2/blob_image.py", line 224, in __call__ return self.serve_image(environ, start_response) File "/home/user/Programs/google_appengine/google/appengine/tools/devappserver2/blob_image.py", line 213, in serve_image image, mime_type = self._transform_image(blobkey, resize, crop) File "/home/user/Programs/google_appengine/google/appengine/tools/devappserver2/blob_image.py", line 78, in _transform_image image = _get_images_stub()._OpenImageData(image_data) File "/home/user/Programs/google_appengine/google/appengine/api/images/images_stub.py", line 371, in _OpenImageData image = self._OpenBlob(image_data.blob_key()) File "/home/user/Programs/google_appengine/google/appengine/api/images/images_stub.py", line 441, in _OpenBlob images_service_pb.ImagesServiceError.BAD_IMAGE_DATA) 

Le message résout les données d’image incomplètes. pourtant le devserver n’a pas de problème pour lire ceci.

Y a-t-il des actions que je pourrais entreprendre pour résoudre ce problème?

C’est probablement un problème avec SELinux. Autoriser un serveur Web à écrire sur /home/ n’est normalement pas inclus dans la stratégie SELinux par défaut.

Vérifiez vos journaux dans / var / log / messages et /var/log/audit/audit.log. Vous pouvez rechercher de plus amples informations sur la désactivation de SELinux sur Google ou sur sa reconfiguration pour autoriser l’écriture dans /home/ .