[英]Eclipse: “PHP Fatal error: Call to undefined function mysqli_connect()”
I have a php script (machine_db.php) which makes a connection to mysql database as follows: 我有一个PHP脚本(machine_db.php),它可以如下连接到mysql数据库:
<?php
//phpinfo();
// 1 connect to mysql
$servername = "localhost";
$username = "root";
$password = "abcd";
$conn = mysqli_connect($servername, $username, $password);
...
?>
I am using: 我在用:
I am using Eclipse Mars and I installed PHP packages (addin or whatever it is called) for Eclipse. 我正在使用Eclipse Mars,并且为Eclipse安装了PHP软件包(插件或其他名称)。 Then I created a php project and added my php file to the project and did run as php cli application but I get the following error in Eclipse console,
然后,我创建了一个php项目,并将我的php文件添加到该项目中,并确实以php cli应用程序运行,但是在Eclipse控制台中出现以下错误,
PHP Fatal error: Call to undefined function mysqli_connect()
However I don't get any error when I run the exact same script from terminal like: 但是,当我从终端运行完全相同的脚本时,我没有得到任何错误:
php machine_db.php
I also see that in my Eclipse project explorer there is a PHP Language Library which contains mysqli class. 我还看到在我的Eclipse项目资源管理器中,有一个包含mysqli类的PHP语言库。
I think you forget the db name: 我认为您忘记了数据库名称:
$servername = "localhost";
$username = "root";
$password = "abcd";
$db_name = "my-db";
$conn = mysqli_connect($servername, $username, $password, $db_name);
You can also use 您也可以使用
$conn = new mysqli($servername, $username, $password, $db_name);
Documentation: http://php.net/manual/fr/mysqli.construct.php 文档: http : //php.net/manual/fr/mysqli.construct.php
Also try to install php5-mysqli 也尝试安装php5-mysqli
sudo apt-get update
sudo apt-get install php5-mysql php5-mysqli
sudo service apache2 restart
dont forget to uncomment this line in your /etc/php5/apache2/php.ini 不要忘记在/etc/php5/apache2/php.ini中取消注释此行
extension=php_mysql.so
extension=php_mysqli.so
Dont forget to restart apache server 不要忘记重启apache服务器
sudo service apache2 restart
I just realized that if in eclipse i check " use system default php.ini
" under window->preferences->php->phpexecutables
it will magically work. 我只是意识到,如果在月食中我在
window->preferences->php->phpexecutables
下选中“ use system default php.ini
”,它将神奇地起作用。
Does anyone know what is "system default php.ini"? 有谁知道什么是“系统默认的php.ini”?
I do aa quick $php --ini
and it returns: 我做了一个快速
$php --ini
,它返回:
Configuration File (php.ini) Path: /etc/php5/cli
Loaded Configuration File: /etc/php5/cli/php.ini
Scan for additional .ini files in: /etc/php5/cli/conf.d
Additional .ini files parsed: /etc/php5/cli/conf.d/05-opcache.ini,
/etc/php5/cli/conf.d/10-mysqlnd.ini,
/etc/php5/cli/conf.d/10-pdo.ini,
/etc/php5/cli/conf.d/20-json.ini,
/etc/php5/cli/conf.d/20-mysql.ini,
/etc/php5/cli/conf.d/20-mysqli.ini,
/etc/php5/cli/conf.d/20-pdo_mysql.ini,
/etc/php5/cli/conf.d/20-readline.ini
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.