php - Docker 没有 MySQL 连接到 Nginx

标签 php mysql nginx docker

我构建了一个 compose 文件来创建 nginx、php、mysql 和 phpmyadmin。

一切都在为自己服务。 PHPmyAdmin 可以与 mysql 容器对话。 Nginx 可以与 php 容器通信。

但是 nginx 或 php 似乎无法与 mysql 通信。当执行类似的事情时

mysql_connect('localhost','florian','pw')

它返回:

Uncaught Error: Call to undefined function mysql_connect()

这是我的 docker-compose.yml

php:
    build: php-docker/.
    container_name: php
    ports:
      - "9000:9000"
    volumes:
      - /var/www/:/var/www/

nginx:
    build: nginx-docker/.
    container_name: nginx
    links:
      - php
    ports:
      - "80:80"

mysql:
    build: mysql-docker/.
    container_name: mysql
    volumes:
      - /var/mysql:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: pw
      MYSQL_USER: florian
      MYSQL_PASSWORD: pw
      MYSQL_DATABASE: db


  phpmyadmin:
    build: phpmyadmin/.
    links:
     - mysql:db
    ports:
     - 1234:80
    container_name: phpmyadmin
    environment:
     PMA_ARBITRARY: 1
     PMA_USERNAME: florian
     PMA_PASSWORD: pw
     MYSQL_ROOT_PASSWORD: pw
    restart: always

最佳答案

mysql_connect 函数已从 PHP 7.0 中删除。

您必须将代码迁移到 mysqli 扩展,该扩展提供类似的函数 mysqli_connect,或者迁移到 PDO。

引用(看红色警告):http://php.net/manual/en/function.mysql-connect.php

关于php - Docker 没有 MySQL 连接到 Nginx,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42345625/

相关文章:

java - 将图像 blob 插入 MySQL - NullPointerException

php - 使用 php 将图像从 blob 字段下载到硬盘

node.js - 如何获取 nginx 中的 server_name 用作 Node 中的服务器变量

php - 存储后是否必须释放 mysql 结果?

php - 我的 ajax 代码没有从 php 发送每一行

php - 安装后 Shopware Slim 应用程序错误

reactjs - 通过nginx请求api server(Golang)失败返回404错误

ssl - NGINX 重定向到 HTTPS 仅在刷新后有效

php - TCPDF 将文件保存到文件夹?

php - 用户名更改后 symfony 身份验证问题