我正在尝试按照此说明在Google Cloud App Engine中运行symfony4应用程序.
我的应用程序具有依赖性,它本身依赖于php-gd.由于作曲家失败,这个扩展似乎不可用the requested PHP extension gd is missing from your system..
我如何修改教程以使扩展可用?
这可以用php.ini文件解决,还是需要自定义环境?
或者,因为我不需要我的依赖项所需的部分php-gd,是否有办法composer运行--ignore-platform-reqs标志?
php google-app-engine php-extension composer-php google-app-engine-php
我在 Google App Engine 中使用 WordPress。当我创建 POST API 时,出现错误:“在从上游读取响应标头时,上游发送了太大的标头”。返回 502、错误网关、nginx
我在 POST API 中发送的数据(JSON)大约为 4kb。如果发送的数据低于 2kb,API 将返回成功。
我尝试了 App Engine 标准版和灵活环境,但遇到了同样的问题。
根据此链接: 上游在从上游读取响应标头时发送了太大的标头
使用缓冲区修改 nginx-app.config 文件将解决此问题。但这不起作用。
在 App Engine 中,默认的 nginx-app.config 如下所示。
location / {
try_files $uri /index.php?q=$uri&$args;
}
location ~ ^/wp-admin {
try_files $uri $uri/index.php?$args;
}
Run Code Online (Sandbox Code Playgroud)
不确定我需要在哪里添加这些代理缓冲区。
我尝试在默认位置中添加代理缓冲区,如下所示,但没有帮助。
location / {
try_files $uri /index.php?q=$uri&$args;
fastcgi_buffers 16 16k;
fastcgi_buffer_size 32k;
proxy_buffer_size 128k;
proxy_buffers 4 256k;
proxy_busy_buffers_size 256k;
}
Run Code Online (Sandbox Code Playgroud)
请帮助我解决这个问题。
google-app-engine google-app-engine-php app-engine-flexible nginx-config
我已经在Google App Engine标准环境中挣扎了一天。
错误如下:
PHP注意:例外:/ srv / bootstrap / cache目录必须存在且可写。在/srv/vendor/laravel/framework/src/Illuminate/Foundation/PackageManifest.php:168中
我知道该/tmp文件夹是App Engine标准环境的唯一可写文件夹。因此,我app.yaml有以下附加内容env_variables:
APP_STORAGE: "/tmp"
VIEW_COMPILED_PATH: "/tmp"
Run Code Online (Sandbox Code Playgroud)
...我bootstrap/app.php包含此行:
$app->useStoragePath(env('APP_STORAGE', base_path() . '/tmp'));
Run Code Online (Sandbox Code Playgroud)
...并且我composer.json拥有以下脚本来说明配置的更改:
"post-autoload-dump": [
"Illuminate\\Foundation\\ComposerScripts::postAutoloadDump"
],
"post-install-cmd": [
"composer dump-autoload",
"php artisan config:clear",
"php artisan cache:clear",
"php artisan view:clear",
"php artisan cache:clear",
"php artisan regenerate:schoolCSS"
]
Run Code Online (Sandbox Code Playgroud)
这些是我在app.yaml以下位置配置的驱动程序:
SESSION_DRIVER: database
BROADCAST_DRIVER: log
CACHE_DRIVER: database
QUEUE_DRIVER: sync
Run Code Online (Sandbox Code Playgroud)
出于某种原因,我似乎无法找到一种方法来使该/tmp文件夹成为放置缓存的视图和配置的文件夹。实际上,我怀疑这些...:clear命令根本无法正常运行。
现在,无论路径如何,我的应用程序都只是一张白页。这是公平的,因为由于缓存不可写,因此无法在其中渲染和存储视图。
上面的配置应该与在Google App Engine标准上安装Laraval的教程相匹配,例如:https ://cloud.google.com/community/tutorials/run-laravel-on-appengine-standard 。
在云控制台中,我已经检查了 …
目前我在Google App Engine Flex环境中使用Symfony 4.
我正在尝试为我的日志条目添加额外的'标签'以帮助调试,我一直在使用Stackdriver处理程序来记录事件,我尝试将新标签添加到Stackdriver处理程序,它在本地工作正常,但不我部署到GAE时工作.
我的主要目标是为所有日志条目添加标识符,以帮助按执行分组条目.
有人可以告诉我为什么我的Stackdriver处理程序中的标签没有传递给日志?
来自GAE实例的日志条目只有以下标签:
labels: {
appengine.googleapis.com/trace_id: "58a54e17ef1110b2720f0b103033187d"
}
Run Code Online (Sandbox Code Playgroud)
monolog.yaml
monolog:
handlers:
main:
type: fingers_crossed
action_level: error
handler: nested
excluded_404s:
# regex: exclude all 404 errors from the logs
- ^/
nested:
type: stream
path: "%kernel.logs_dir%/%kernel.environment%.log"
level: debug
console:
type: console
process_psr_3_messages: false
channels: ["!event", "!doctrine"]
stackdriver:
type: service
id: stackdriver_handler
level: debug
Run Code Online (Sandbox Code Playgroud)
StackdriverHandler.php
<?php
namespace App\Bundle\Monolog;
use Google\Cloud\Logging\LoggingClient;
use Monolog\Handler\PsrHandler;
use Monolog\Logger;
use Psr\Log\LoggerInterface;
class StackdriverHandler extends PsrHandler
{
/**
* @var LoggerInterface[]
*/ …Run Code Online (Sandbox Code Playgroud) php google-app-engine monolog google-app-engine-php symfony4
在PHP中,创建一个带有端点的上传URL非常容易,该端点在文件上传后会被点击.文档在这里
$options = ['gs_bucket_name' => $my_bucket];
$upload_url = CloudStorageTools::createUploadUrl('/upload/handler', $options);
Run Code Online (Sandbox Code Playgroud)
我想知道在Node中是否有办法这样做,因为我似乎无法弄清楚如何.
甚至一些关于如何通过http请求来完成它的文档就足够了.
google-app-engine node.js google-app-engine-php google-appengine-node
我有一个app引擎实例项目,让我们说: cloud.domain.com
我的目标是能够向用户提供我唯一的URL,然后他们可以使用CNAME记录映射到他们自己的域.基本上如何将域连接到方空间帐户.
它真的可能是这样的:
userid.cloud.domain.com
userid.domain.com
Run Code Online (Sandbox Code Playgroud)
GAE甚至可以实现这一点吗?我研究了通配符映射,但对这个主题确实没有任何可靠的建议.
这甚至是可能的还是我应该到别处去完成这种任务?
php google-app-engine wildcard-subdomain google-app-engine-php
我有一个在 App Engine 中运行的网络服务器,客户端是一个移动应用程序。我看到,一旦我们扩展到大量用户,移动设备上的许多请求就会开始失败。但是,我在我们的日志中没有看到任何故障。我注意到在我们的配额中,我们的ip address in useforCompute Engine API最大为 8(即使我们没有在 Compute Engine 上运行任何服务)。我不确定这是否是根本原因,但以前不是这样,我想知道是否有任何关于如何解决此问题的建议,或者是否有更好的方法来构建我们的服务器以满足我们的用例。
编辑:我们当前的配置是 App 引擎上的 flex 环境,最少有 2 个实例。我们还有一个 MySQL 实例。到目前为止,我们使用的几乎所有东西。
runtime: php
env: flex
api_version: 1
handlers:
- url: /.*
script: public/index.php
runtime_config:
document_root: public
beta_settings:
# for Cloud SQL, set this value to the Cloud SQL connection name,
# e.g. "project:region:cloudsql-instance"
cloud_sql_instances: "<project>:<region>:<sql-instance>"
Run Code Online (Sandbox Code Playgroud) google-app-engine google-compute-engine google-cloud-platform google-app-engine-php
我正在关注GAE PHP教程,但我无法让本地开发服务器正确响应.
我用它来运行它
dev_appserver.py --php_executable_path=/usr/bin/php --host=192.168.33.44 ./
它开始很好.当我查看http://192.168.33.44:8080/日志显示
INFO 2016-10-12 07:55:06,264 module.py:788] default: "GET / HTTP/1.1" 200 -
但我得到一个空白页面.教程中没有任何内容可以解释如果遇到问题该怎么做.
到目前为止,我已经:
helloworld.php:没有错误- url: /:/上的空白页,任何其他URL的404页我通过Vagrant和Google Cloud SDK 129.0.0运行Centos 7.2.
任何和所有的帮助非常感谢.
[编辑]
要求的附加数据
$ which php
/usr/bin/php
$ /usr/bin/php -v
PHP 5.5.38 (cli) (built: Sep 19 2016 13:45:10)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2015 Zend Technologies
$ which python
/usr/bin/python
$ …Run Code Online (Sandbox Code Playgroud) 我设置了一个基于PHP的谷歌应用程序引擎灵活的环境项目,这将是更容易去为我(的进步速度方面),如果我能在访问正在运行的PHP文件/app在SSH会议上,谷歌云端控制台因此可以在网络浏览器中正常提供权限。
不幸的是,我找不到与此相关的信息。我可以看到mount命令的输出,并且看起来已经安装了很多路径,但是没有一个线索/app可以找到我的位置:
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
udev on /dev type devtmpfs (rw,relatime,size=10240k,nr_inodes=191984,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=154052k,mode=755)
/dev/sda1 on / type ext4 (rw,relatime,data=ordered)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
tmpfs on /run/shm type tmpfs (rw,nosuid,nodev,noexec,relatime,size=308100k)
rpc_pipefs on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)
cgroup on /sys/fs/cgroup type tmpfs (rw,relatime,mode=755)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,relatime,cpuset)
cgroup on /sys/fs/cgroup/cpu type …Run Code Online (Sandbox Code Playgroud) php ssh google-app-engine google-app-engine-php app-engine-flexible
我目前正在 Google App Engine 上部署 Laravel + Vue 应用程序,并且我已经能够在 Google App Engine 上设置该应用程序。但是,部署后,虽然可以访问路由,但公共文件夹中的图像文件、样式表和 Javascript 文件均不可读,并返回 404 错误。
这是我的 app.yaml 文件(由于模糊原因,变量数据已被删除)
runtime: php72
env_variables:
## Put production environment variables here.
APP_KEY: <key>
APP_STORAGE: /tmp
VIEW_COMPILED_PATH: /tmp
CACHE_DRIVER: database
SESSION_DRIVER: cookie
## Set these environment variables according to your CloudSQL configuration.
DB_DATABASE: db
DB_USERNAME: root
DB_PASSWORD: password
## for MYSQL, use DB_SOCKET:
DB_SOCKET: "/cloudsql/YOUR_CONNECTION_NAME"
## for PostgreSQL, use DB_HOST:
# DB_HOST: "/cloudsql/YOUR_CONNECTION_NAME"
Run Code Online (Sandbox Code Playgroud)
另外,我想知道如何运行命令npm run dev以便更新 JS 文件。
提前致谢。