/ / Google App Engine php zahŕňajú / vyžadujú direktívu - php, google-app-engine

Google App Engine php obsahuje / vyžaduje smernicu - php, google-app-engine

Aplikácia Google App Engine php obsahuje / vyžaduje problém so smernicou.

SÚBOR 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

SÚBOR 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’

SÚBOR 3: form.php

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

SÚBOR 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>

";

?>

Názov môjho vedra v službe Google Cloud Storage je vedro1. bucket1 obsahuje form.php. Všetky povolenia pre vedro aj pre jeho objekt boli nastavené na prečítať pre každého. Dokážem využiť všetky vhodné PHP funkcie súborov. Nemôžem však použiť smernice o php include a vyžadovať.

Keď som spustil aplikáciu myapp, zobrazí sa My First Cloud App s červeným pozadím, ale nezobrazí sa html v časti „form.php“. V súbore denníka účtu Google sa zobrazuje nasledujúca chyba:

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

Čo robím zle?

odpovede:

1 pre odpoveď č. 1

Nie je potrebné nahrávať form.php do vedra ...

Bez ohľadu na to, koľko adresárov vytvoríte, stále preň nepotrebujete vedro ... Ukážem vám príklad ...

tvoj form.php je v /form.php

a chcete ho zahrnúť do /folder1/file1.php potom v file1.php môžete písať include("../form.php");

a chcete ho zahrnúť do /folder2/file2.php potom v file2.php môžete písať include("../form.php");

ak máte súbor v koreňovom liste samotnom /helloworld.html.php potom jednoduché písanie include("form.php");


0 pre odpoveď č. 2

CyberBoy má pravdu, ktorú nemusíte vkladaťform.php do vedra GCS na jeho zahrnutie. Nie som si istý, na ktorú časť dokumentácie sa odvolávate, ale existuje naozaj veľmi málo a konkrétnych dôvodov, prečo by ste chceli zahrnúť skript PHP priamo z GCS.