1

我已通过 Windows 二进制文件升级到 PHP 5.5.0Alpha 4:http: //windows.php.net/qa/

php_mysql.dll 在我的 php.ini 中存在且未注释,但它仍然抛出未定义的函数。

使用开发包的原因是为了向一群“开发者”证明 mysql_* 正在这个开发包中正式生成折旧警告。但我不能调用 mysql_* 函数。

error_reporting(E_ALL);
 ini_set("display_errors", 1); 
mysql_connect("localhost", "root", "xxx"); 
mysql_select_db("test");

错误:

Fatal error: Call to undefined function mysql_connect() in C:\xampp\htdocs\index.php on line 4

当成功连接到 mysql 数据库时,应该会生成错误。证明:

  • MySQL 。此扩展现已弃用,当通过 mysql_connect()、mysql_pconnect() 或通过隐式连接建立与数据库的连接时,将生成弃用警告:请改用 MySQLi 或 PDO_MySQL ( https://wiki.php.net/rfc/ mysql_deprecation)。(亚当)

https://github.com/php/php-src/blob/php-5.5.0alpha4/NEWS

4

1 回答 1

2

这仍然是一个开发/测试版本,就证明而言应该被视为极具实验性......您应该将它们指向 PHP.net 页面上的任何 mysql_* 扩展,您会注意到折旧警告。

然后继续将它们转发到已经从 PHP 中贬值的函数,例如ereg()您会注意到基本相同的红框警告。

就您的错误消息而言,如果您 100% 确定您的扩展程序存在于您的ext/文件夹中,并且未从您的 PHP.ini 中注释;并重新启动了你的 apache 服务。然后问题在实际的 .dll 扩展中解决了,因为这是一个实验性/测试版,没有任何东西可以保证 100% 工作......

至于证明;将它们指向 php.net 并将它们链接到 mysql_* 函数和新闻文件。

于 2013-02-17T00:36:04.950 回答