首页 > 解决方案 > php 5.3/mysql:为什么 apache 看不到 mysql?

问题描述

不幸的是,我不得不在 Ubuntu 14.04 上安装 php 5.3.29、Apache 和 MySQL,事实证明,我希望让它们一起工作要困难得多。

我试过关注这个线程并安装了 php 5.3.29。

$ php -v
PHP 5.3.29 (cli) (built: Jun 16 2020 04:00:04) 
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2014 Zend Technologies

我安装了 Apache:

$ apache2 -v
Server version: Apache/2.4.7 (Ubuntu)
Server built:   Apr  3 2019 18:04:25

还安装了 MySQL:

$ mysql --version
mysql  Ver 14.14 Distrib 5.5.62, for debian-linux-gnu (x86_64) using readline 6.3

看起来这些都按预期安装,但是当我创建phpinfo()脚本并查看页面时,它正确显示了版本,php但没有MySQL.

尝试访问使用的页面时mysql出现错误Fatal error: Call to undefined function mysql_connect()

似乎由于某种原因Apache没有看到MySQL,但它似乎正在加载模块。

这是我在重新启动 apache 时看到的:

* Restarting web server apache2 [Thu Jun 18 05:31:41.808127 2020] [so:warn] [pid 121446] AH01574: module php5_module is already loaded, skipping AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message

我需要做什么才能让 Apache '看到' mysql?

标签: phpmysqlapacheubuntuubuntu-14.04

解决方案


您必须检查 mysql 扩展是否安装在 php.ini 中。

dpkg -l|grep php

那么你应该得到一个所有 php 包的列表。检查mysql / mysqli是否有东西。如果没有,您必须安装 mysql / PDO 包。

apt-get install php5-mysql

您使用了一个不再维护的非常旧的 PHP 版本。所以你真的应该升级并使用更新的。然后你应该能够用你的 php 脚本连接到数据库。


推荐阅读