/ / Directive d'inclusion / besoin php de Google App Engine

Google App Engine php include / require directive - php, google-app-engine

Google App Engine php inclut / nécessite un problème de directive.

FICHIER 1: app.yaml

application: myapp

version: 1

runtime: php

api_version: 1

handlers:

- url: /stylesheets

static_dir: stylesheets

- url: /images

static_dir: images

- url: /myIncludes

script: form.php

- url: /.*

script: HelloWorld.html.php

FICHIER 2: php.ini

; This is a simple php.ini file.

; It indicates my desire to use php’s include and require directives.

google_app_engine.allow_include_gs_buckets=‘bucket1’

FICHIER 3: form.php

The php code in this file simply echoes an html form.

FICHIER 4: HelloWorld.html.php

    <?php

echo "

<html>

<head>

<style type="text/css">

body {background-color:red;}

</style>

</head><body>

<table>

<tr>

<td>My First Cloud App</td>

</tr></table>

";


include "gs://bucket1/form.php";


echo "

</body>

</html>

";

?>

Le nom de mon compartiment dans Google Cloud Storage est bucket1. bucket1 contient form.php. Toutes les autorisations du compartiment et de son objet ont été définies sur Lis pour tout le monde. Je suis capable d'utiliser tout le nécessaire PHP fonctions de fichier. Cependant, je ne peux pas utiliser les directives php include et exiger.

Quand j'ai exécuté myapp, il affiche My First Cloud App avec un arrière-plan rouge mais il n’affiche pas le code HTML dans «form.php». L’erreur suivante apparaît dans le fichier journal de mon compte Google:

2013-11-19 01:44:20.209
PHP Warning:  include(gs://bucket1/form.php): failed to open stream: "googleappengineextcloud_storage_streamsCloudStorageStreamWrapper::stream_open" call failed in /base/data/home/apps/s~myapp/1.335363258528205/HelloWorld.html.php on line 74
W 2013-11-19 01:44:20.209
PHP Warning:  include(): Failed opening "gs://bucket1/form.php" for inclusion (include_path=".;/base/data/home/apps/s~myapp/1.335363258528205/;/base/data/home/runtimes/php/sdk") in /base/data/home/apps/s~myapp/1.335363258528205/HelloWorld.html.php on line 74

Qu'est-ce que je fais mal?

Réponses:

1 pour la réponse № 1

Pas besoin de télécharger form.php dans le seau ...

Peu importe le nombre de répertoires que vous créez, vous n’avez toujours pas besoin d’un seau pour cela ... Voir, laissez-moi vous donner un exemple ...

Votre form.php est dans /form.php

et vous voulez l'inclure dans /folder1/file1.php puis dans file1.php vous pouvez écrire include("../form.php");

et vous voulez l'inclure dans /folder2/file2.php puis dans file2.php vous pouvez écrire include("../form.php");

si vous avez un fichier dans le dossier racine lui-même /helloworld.html.php puis simple écriture include("form.php");


0 pour la réponse № 2

CyberBoy a raison de dire que vous n'avez pas besoin de mettreform.php dans le compartiment GCS pour l’inclure. Je ne suis pas sûr de la partie de la documentation à laquelle vous faites référence, mais il existe vraiment très peu de raisons spécifiques pour lesquelles vous souhaitez inclure le script PHP directement à partir de GCS.