【发布时间】:2016-12-26 08:25:51
【问题描述】:
我正在尝试使用以下链接为 Google Cloud 设置 phpMyAdmin 页面,我在此网站上 100% 关注该链接:https://cloud.google.com/sql/docs/phpmyadmin-on-app-engine 当我尝试运行 php 服务器以查看它是否已启动并运行时,我会这样做以下:
C02Q202LG8WL:phpMyAdmin user$ appcfg.py update .
01:26 AM Application: database-140707; version: 2
01:26 AM Host: appengine.google.com
01:26 AM Starting update of app: database-140707, module: phpmyadmindb, version: 2
01:26 AM Getting current resource limits.
01:26 AM Scanning files on local disk.
01:26 AM Scanned 500 files.
01:26 AM Scanned 1000 files.
01:26 AM Scanned 1500 files.
01:26 AM Scanned 2000 files.
01:26 AM Cloning 1113 static files.
01:27 AM Rolling back the update.
Error 409: --- begin server output ---
No transaction is in progress.
--- end server output ---
我们不断收到这个No transaction is in progress. 错误。它使我无法加载 localhost/phpmyadmin 页面。任何想法为什么会发生这种情况?如果我尝试回滚事务的更改,我会这样做:
C02Q202LG8WL:phpMyAdmin user$ /usr/local/google_appengine/appcfg.py rollback database-140707/
01:30 AM Application: database-140707
01:30 AM Host: appengine.google.com
01:30 AM Rolling back the update.
C02Q202LG8WL:phpMyAdmin user$ appcfg.py update .
01:30 AM Application: database-140707; version: 2
01:30 AM Host: appengine.google.com
01:30 AM Starting update of app: database-140707, module: phpmyadmindb, version: 2
01:30 AM Getting current resource limits.
01:30 AM Scanning files on local disk.
01:30 AM Scanned 500 files.
01:30 AM Scanned 1000 files.
01:30 AM Scanned 1500 files.
01:30 AM Scanned 2000 files.
Error 409: --- begin server output ---
There is an operation pending for this application: AppLock held for "Updating engine_version_id='2' within engine_id='default'." acquired by <Insert User> at 2016-08-19 08:26:05.734255 GMT. Please wait and try again or use 'appcfg rollback' to attempt to cleanly abort the current operation.
--- end server output ---
我似乎无法弄清楚为什么我无法在 Google Cloud 上启动 phpMyAdmin,而且我不确定这些错误的原因或来源。任何帮助,将不胜感激。谢谢。
编辑:
我实际上得到了正确部署的一切。我所要做的就是将app.yaml 从模块phpmyadmindb 更改为default。这是我创建的app.yaml:
application: database-140707
service: default
runtime: php55
api_version: 1
version: 3
handlers:
- url: /(.+\.(ico|jpg|png|gif))$
static_files: \1
upload: (.+\.(ico|jpg|png|gif))$
application_readable: true
- url: /(.+\.(htm|html|css|js))$
static_files: \1
upload: (.+\.(htm|html|css|js))$
application_readable: true
- url: /(.+\.php)$
script: \1
login: admin
- url: /.*
script: index.php
login: admin
config.inc.php:
<!-- [START all] -->
<?php
// [START_EXCLUDE silent]
/**
* Copyright 2016 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// [END_EXCLUDE]
/*
* This is needed for cookie based authentication to encrypt password in
* cookie
* http://www.question-defense.com/tools/phpmyadmin-blowfish-secret-generator
*/
$cfg['blowfish_secret'] = '<Blow Fish Generator>'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
/*
* Servers configuration
*/
$i = 0;
// Change this to use the project and instance that you've created.
$host = '/cloudsql/<Cloud SQL Instance Name>';
$type = 'socket';
/*
* First server
*/
$i++;
/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'cookie';
/* Server parameters */
$cfg['Servers'][$i]['socket'] = $host;
$cfg['Servers'][$i]['connect_type'] = $type;
$cfg['Servers'][$i]['compress'] = false;
/* Select mysql if your server does not have mysqli */
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['AllowNoPassword'] = true;
/*
* End of servers configuration
*/
/*
* Other settings
*/
$cfg['PmaNoRelation_DisableWarning'] = true;
$cfg['ExecTimeLimit'] = 60;
$cfg['CheckConfigurationPermissions'] = false;
// [END all]
php.ini:
google_app_engine.enable_functions = "php_uname, getmypid"
这里是成功的输出:
C02Q202LG8WL:phpMyAdmin schan$ appcfg.py update .
01:12 PM Application: database-140707; version: 3
01:12 PM Host: appengine.google.com
01:12 PM Starting update of app: database-140707, version: 3
01:12 PM Getting current resource limits.
01:12 PM Scanning files on local disk.
01:12 PM Scanned 500 files.
01:13 PM Scanned 1000 files.
01:13 PM Scanned 1500 files.
01:13 PM Scanned 2000 files.
01:13 PM Cloning 1113 static files.
01:13 PM Cloning 2276 application files.
01:13 PM Cloned 2000 files.
01:13 PM Uploading 3 files and blobs.
01:13 PM Uploaded 3 files and blobs.
01:13 PM Compilation starting.
01:13 PM Compilation completed.
01:13 PM Starting deployment.
01:13 PM Checking if deployment succeeded.
01:13 PM Deployment successful.
01:13 PM Checking if updated app version is serving.
01:13 PM Completed update of app: database-140707, version: 3
我现在遇到的问题是教程说导航到https://phpmyadmindb-dot-database-140707.appspot.com/ 以查看phpmyadmin 是否设置正确。然而,当我在那里导航时,我得到的只是一个显示Hello World! 的屏幕,但似乎没有部署实际的 phpMyAdmin。我试图去https://phpmyadmindb-dot-database-140707.appspot.com/index.php 看看它是否被创建,但它不是。有人会碰巧知道为什么吗?
【问题讨论】:
标签: php mysql google-app-engine phpmyadmin