2

我已经使用提供的教程在 GAE 上设置了 phpmyadmin @ https://gaeforphp-blog.appspot.com/2013/05/26/setting-up-phpmyadmin-on-app-engine/

可以毫无问题地访问应用程序的版本(phpmyadmin),但我似乎无法针对我的 Cloud SQL 实例进行身份验证。

我尝试了 cookie 和 config 类型的身份验证,但都没有成功。但是我发现,使用cookie auth,在提交用户名密码后,页面只是重新加载而没有错误。

如果我使用 config auth,我会在页面上收到以下错误:

2002 - 无法找到套接字传输“tcp” - 您在配置 PHP 时是否忘记启用它?

服务器没有响应(或本地服务器的套接字未正确配置)。

所有谷歌搜索都将我指向 php 中的 ssl 库。有没有人能让 phpmyadmin 在 GAE 上工作?

如果实际的博客条目 (@gaeforphp-blog.appspot.com) 会支持向作者提出问题的评论,那将更可取,不幸的是,事实并非如此。

4

3 回答 3

0

phpMyAdmin 4.1.6.0 config.inc.php这是我文件中更改的行:

$cfg['Servers'][$i]['host'] = ':/cloudsql/<project-id>:<cloudsql-instance>';
$cfg['Servers'][$i]['extension'] = 'mysql';
$cfg['Servers'][$i]['AllowNoPassword'] = true;
$cfg['Servers'][$i]['connect_type'] = 'socket';
$cfg['Servers'][$i]['AllowRoot'] = true;

然后我添加了以下几行:

$cfg['McryptDisableWarning'] = true;
$cfg['PmaNoRelation_DisableWarning'] = true;
$cfg['ExecTimeLimit'] = 60;
$cfg['CheckConfigurationPermissions'] = false;

注意事项:

  • 通过更改$cfg['Servers'][$i]['AllowNoPassword']true您允许任何人root无需密码即可登录。因此,您可能希望仅在第一次登录时使用它来创建具有有限权限的新用户/密码,然后false再次将其更改为(或者您可能使用 Can Console 并且根本不更改此设置)。
  • $cfg['Servers'][$i]['extension'] = 'mysql'实际上为我做了伎俩。我不知道为什么,但似乎我的 php 配置文件中没有启用 mysqli。

我使用的链接:

于 2014-01-28T17:53:46.580 回答
0

因此,您看到此错误是因为您使用的连接字符串不正确,而且我们不知道您正在尝试连接到 CloudSQL。

如果您使用的是 mysql,请确保在实例名称前有 ':/cloudsql/'。

不知道该博客不接受评论 - 我会解决这个问题。

于 2013-07-15T02:41:45.710 回答
0

唯一对我有用的是以下配置。

$cfg['Servers'][$i]['auth_type'] = 'cookie';
/* Server parameters */
$cfg['Servers'][$i]['socket'] = '/cloudsql/project-id:db-instance';
$cfg['Servers'][$i]['connect_type'] = 'socket';
$cfg['Servers'][$i]['extension'] = 'mysql';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['AllowNoPassword'] = true;
$cfg['Servers'][$i]['AllowRoot'] = true;

$cfg['McryptDisableWarning'] = true;
$cfg['PmaNoRelation_DisableWarning'] = true;
$cfg['ExecTimeLimit'] = 60;
$cfg['CheckConfigurationPermissions'] = false;

所有其他配置都失败并显示各种错误消息。从未找到套接字到 gethostbyaddr 错误等。祝你好运!

于 2016-03-09T08:35:30.330 回答