Docker Compose,为PHP-FPM添加MySQL支持7.调用未定义的函数mysql_connect()

Jam*_*son -2 php mysql nginx docker docker-compose

我正在使用Docker Compose来构建我的第一台Docker机器.我想安装Docker有PHP-FPM 7,Nginx和MySQL(使用MariaDB).

这是我的docker-compose.yml

version: '2'
services:
nginx:
image: nginx:latest
ports:
  - "80:80"
volumes:
  - ./nginx/site.conf:/etc/nginx/conf.d/default.conf
  - ./logs/nginx-error.log:/var/log/nginx/error.log
  - ./logs/nginx-access.log:/var/log/nginx/access.log
  - ./public:/usr/share/nginx/html
links:
  - phpfpm

phpfpm:
image: php:7-fpm
volumes:
  - ./public:/usr/share/nginx/html
  - ./logs/log.conf:/usr/local/etc/php-fpm.d/zz-log.conf

mariadb:
image: mariadb
environment:
  MYSQL_ROOT_PASSWORD: admin
  MYSQL_DATABASE: admin
  MYSQL_USER: admin
  MYSQL_PASSWORD: admin
volumes:
 - ./database:/var/lib/mysql
Run Code Online (Sandbox Code Playgroud)

Docker正确启动但是当我尝试使用mysql_connect连接到index.php中的数据库时,我得到错误:

致命错误:未捕获错误:在/usr/share/nginx/html/index.php:7中调用未定义函数mysql_connect()堆栈跟踪:#us {/}////////////////////////在第7行

这是我的index.php

<?php
 $username = "admin";
 $password = "admin";
 $hostname = "localhost";

 //connection to the database
 $dbhandle = mysql_connect($hostname, $username, $password)
   or die("Unable to connect to MySQL");
 echo "Connected to MySQL<br>";
 ?>
Run Code Online (Sandbox Code Playgroud)

如何设置PHP-FPM以使用MySQL?

非常感谢

Rig*_*lly 10

每次使用的mysql_新代码数据库扩展, 小猫是在世界某个地方勒死,它已被弃用,并已多年,并在PHP7一去不复返.

您将不得不安装PHP5.6版本或更好地重构您的代码以使用MYSQLI或PDO

  • 如果我愿意的话,为了拯救小猫,我会给予更多的投票. (2认同)