0

我是 App Engine PHP 的初学者。我在 ubuntu 16.04 和 Google Cloud SDK 187.0.0 中工作。我正在关注本教程https://cloud.google.com/appengine/docs/standard/php/quickstart

我的代码是:

应用程序.yaml

runtime: php55
api_version: 1

handlers:
- url: /.*
  script: index.php 

索引.php

<?php
    echo 'Hola Mundo PHP en APPENGINE - STANDAR ENVIROMENT';
?>

但是,当我想在本地运行 Appengine server dev 并打开 Mozilla 浏览器时会显示一条消息。

"La codificación de caracteres del documento HTML no ha sido declarada. El documento se mostrará con texto "basura" en algunas configuraciones de navegador si el documento contiene caracteres externos al rango US-ASCII. La codificación de caracteres de la página debe ser declarada en el documento o en el protocolo de transferencia。”

“尚未声明 HTML 文档的字符编码。如果文档包含 US-ASCII 范围之外的字符,则在某些浏览器设置中,该文档将显示为带有“垃圾”文本。页面的字符编码必须声明为文件或传输协议中。”

我已经搜索了 Stackoverflow 中的所有解决方案,但没有一个有效。请帮帮我。

Adicional,我看到 php 版本没有显示。

app-engine-php 版本不显示

4

2 回答 2

1

这不是 App Engine 的问题,而是 HTML 的问题。如果您在页面上声明编码,则消息应该消失:

<!DOCTYPE html>

<head>
    <title>my page</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta http-equiv="encoding" content="utf-8" />
</head>

<body>
    Can You see this? If so, something wrong in your php.
    <?php
        echo 'Hola Mundo PHP en APPENGINE - STANDARD ENVIROMENT';
    ?>
</body>
</html>

更新此代码应该可以工作。我能想到的唯一其他问题是你有一些性格问题。有时,当您复制/粘贴代码时,字符与显示的不同。尤其是 ", ', ` , ´, ˝, ', ", ?, ¿。重新输入整个 PHP 语句。或者直接从教程的代码中复制/粘贴。

于 2018-02-03T05:30:17.360 回答
0

社区的一切都是我的错。PHP 代码很好。但是运行 dev_appserver.py 的命令很糟糕。

我的旧 dev_appserver.py 命令(坏):

dev_appserver.py --php_executable_path=/usr/bin/php5.6 --port=8099

我的新 dev_appserver.py 命令c(好):

dev_appserver.py --php_executable_path=/usr/bin/php-cgi5.6 --port=8099

我也安装了 php5.6-cgi:apt install php5.6-cgi

按照本教程安装 php5.6 http://www.ingdiaz.org/cambiar-version-php-7-0-php-5-6-ubuntu-16-04/

于 2018-02-06T21:50:03.887 回答