【问题标题】:mysqli not supported in google app engine with php使用 php 的谷歌应用引擎不支持 mysqli
【发布时间】:2018-06-21 08:40:32
【问题描述】:

我正在尝试在 google 应用引擎上设置我的脚本,但 mysqli 对 php 的支持存在问题。当我运行它时,我会收到消息

致命错误:在

中找不到类 'mysqli'

我试过phpinfo(),但那里没有mysqli扩展

然后我尝试像这里一样配置 php.ini https://cloud.google.com/appengine/docs/php/config/php_ini

我加了

extension=php_mysqli.dll
extension=mysqli.so
extension=mysql.so

并按照说明将其上传到基本目录但仍然没有成功,我该如何修复它。我可以看到 PDO,但我需要更改脚本中的所有内容,并且需要太多时间。

app.yaml 在下面列出

runtime: php55
api_version: 1

env_variables:
  # Replace project, instance, database, user and password with the values obtained
  # when configuring your Cloud SQL instance.
  MYSQL_DSN: mysql:unix_socket=/cloudsql/datahouse;dbname=db
  MYSQL_USER: root
  MYSQL_PASSWORD: 'pass'

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

我正在用这个运行应用程序

dev_appserver.py --php_executable_path=/usr/bin/php-cgi $PWD

【问题讨论】:

  • 添加 mysqli 扩展后是否重启了网络服务器?
  • 它不应该像谷歌应用引擎那样工作,每次我运行应用程序时都会重新加载
  • 我也遇到了同样的问题...有什么更新吗?

标签: php mysql google-app-engine mysqli


【解决方案1】:

php.ini 添加到您的项目根目录(与app.yaml 处于同一级别):

extension = "mysqli.so"

【讨论】:

  • 我用或不用引号都做了,没有任何反应。没有变化,和app.yaml在同一个目录
  • 我可以看看你的 app.yaml 内容吗?
  • 我从cloud.google.com/appengine/docs/php/runtime 阅读并发现mysqli 已经启用。嗯,也许我们错过了什么……
  • 这行 dev_appserver.py --php_executable_path=/usr/bin/php-cgi $PWD 是否有问题
【解决方案2】:

Google 应用引擎似乎默认支持 mysqli。问题是与使用常规主机时需要以不同的方式配置与数据库的连接。它需要通过套接字

我在 app.yaml 文件中将此设置用作环境变量

env_variables:
MYSQL_DSN: mysql:unix_socket=/cloudsql/datahouse;dbname=mydatabase
MYSQL_USER: root
MYSQL_PASSWORD: 'mypassword'

我在云 SQL 上的数据库中找到了这个值。这解决了我的问题

【讨论】:

    【解决方案3】:

    我是这样做的:

    $instance_name = "/cloudsql/YOUR_PROJECT_ID_WITHOUT_DB_NAME";

    $mysqli = mysqli_connect(null, YOUR_DB_USER ,YOUR_DB_PASS, 'DB_NAME',null,$instance_name);

    从上面的例子:

    MYSQL_DSN: mysql:unix_socket=/cloudsql/datahouse;dbname=mydatabase

    MYSQL_USER:根

    MYSQL_PASSWORD: '我的密码'

    仅供参考:

    $instance_name = "/cloudsql/datahouse";

    $mysqli = mysqli_connect(null, 'root' ,'mypassword', 'DB_NAME',null,$instance_name);

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 2011-12-26
      • 2010-10-07
      • 1970-01-01
      • 2020-07-29
      • 1970-01-01
      • 2016-05-02
      • 2014-03-22
      • 1970-01-01
      • 2011-05-06
      相关资源
      最近更新 更多