php - 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?
解决方案
您必须检查 mysql 扩展是否安装在 php.ini 中。
dpkg -l|grep php
那么你应该得到一个所有 php 包的列表。检查mysql / mysqli是否有东西。如果没有,您必须安装 mysql / PDO 包。
apt-get install php5-mysql
您使用了一个不再维护的非常旧的 PHP 版本。所以你真的应该升级并使用更新的。然后你应该能够用你的 php 脚本连接到数据库。
推荐阅读
- java - @DateTimeFormat(pattern = "yyyy-MM-dd hh:mm:ss") 不工作
- spring-boot - 如何告诉 RSocket 通过阻塞队列支持的 Java 8 Stream 读取数据流
- reactjs - 如何从用户那里获取输入并使用 setState 进行更改?
- php - 找不到类“App\Menu”(查看:D:\xampp\htdocs\mieaceh\resources\views\cart.blade.php)
- javascript - 如何在反应js中使用来自另一个对象的数据填充对象
- python - 如何修复`错误:无效命令'bdist_wheel'`?
- c# - c#方法中的未知通用返回类型
- javascript - 将 javascript 数据存储在 PHP 变量中
- javascript - 修改特定索引处的对象也会覆盖其他索引的相同属性
- r - 包含对数函数的 R ggplot 线性回归模型