use*_*369 68 php mysql ubuntu mysql-connect undefined-function
我已经运行aptitude install php5-mysql(并重新启动MySQL/Apache 2),但我仍然收到此错误:
致命错误:在第21行的/home/validate.php中调用未定义的函数mysql_connect()
phpinfo() 说/etc/php5/apache2/conf.d/pdo_mysql.ini文件已被解析.
Sar*_*ron 52
我看到你用Ubuntu标记了这个.很可能没有安装MySQL驱动程序(可能还有MySQL).假设您具有SSH或终端访问权限和sudo权限,请登录服务器并运行以下命令:
sudo apt-get install mysql-server mysql-client php5-mysql
Run Code Online (Sandbox Code Playgroud)
如果已安装MySQL包或php5-mysql包,则会更新它们.
UPDATE
由于这个答案仍然偶尔会被点击,我将更新它以包含PHP 7.PHP 7需要一个不同的MySQL包,因此您需要为apt-get命令使用不同的参数.
sudo apt-get install mysql-server mysql-common php7.0 php7.0-mysql
Run Code Online (Sandbox Code Playgroud)
而且重要的是,mysql_connect()自PHP v5.5.0以来已被弃用.请参阅此处的官方文档:PHP:mysql_connect()
wan*_*vak 48
嗯,这是你的机会!看起来PDO准备好了; 用它代替.
尝试检查是否正在加载PHP MySQL扩展模块:
<?php
phpinfo();
?>
Run Code Online (Sandbox Code Playgroud)
如果不存在,请将以下内容添加到php.ini文件中:
extension=php_mysql.dll
Run Code Online (Sandbox Code Playgroud)
rub*_*o77 40
如果您已经使用PHP7,以前不推荐使用的函数mysql_*已被完全删除,因此您应该使用PDO函数或mysqli_*函数来更新代码.
如果这是不可能的,作为一种解决方法,我创建了一个小的PHP包含文件,它mysql_*使用-functions重新创建旧函数mysqli_*():fix_mysql.inc.php
kuj*_*jiy 37
如果有人来到这里解决了docker php官方图片的问题,请在docker容器中输入以下命令.
$ docker-php-ext-install mysql mysqli pdo pdo_mysql
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请参阅上面的链接How to install more PHP extensions部分(但这对我来说有点困难......).
或者这个文档可以帮助你.
小智 10
我也遇到了同样的问题,未定义MySQL_connect().我试图在PHP.ini文件中进行更改,但它给了我同样的错误.然后我来到这个解决方案,我将代码从折旧的PHP函数更改为新函数.
$con=mysqli_connect($host,$user,$password);
mysqli_select_db($con,dbname);
//To select the database
session_start(); //To start the session
$query=mysqli_query($con,your query);
//made query after establishing connection with database.
Run Code Online (Sandbox Code Playgroud)
我希望这能帮到您 .这个解决方案正确地为我工作.
尝试:
<?php
phpinfo();
?>
Run Code Online (Sandbox Code Playgroud)
运行该页面并搜索mysql.如果未找到,请在shell中运行以下命令并重新启动Apache服务器:
sudo apt-get install mysql-server mysql-client php5-mysql
Run Code Online (Sandbox Code Playgroud)
还要确保在apache2.conf(或在conf.d/php.ini)文件中的某处取消注释以下所有行,
;extension=php_mysql.so
Run Code Online (Sandbox Code Playgroud)
至
extension=php_mysql.so
Run Code Online (Sandbox Code Playgroud)
小智 5
在php.ini文件中
改变这个
;extension=php_mysql.dll
Run Code Online (Sandbox Code Playgroud)
进入
extension=php_mysql.dll
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
424765 次 |
| 最近记录: |