我正在将一个网站移动到一个较新的服务器,并且此错误出现在前端。
PHP : mysql(): This function is deprecated; use mysql_query() instead in /var/www/vhosts/xxxxxx.com/httpdocs/typo3conf/ext/ph_nextgenmenu/pi1/class.tx_phnextgenmenu_pi1.php line 93
我知道该函数可能已被弃用。问题是这是我移动到新服务器的第三个网站,前两个网站有相同的Typo3版本4.4.0,所有这些网站都有相同的代码行用于访问数据库所以它不是#ta; ta不推荐使用功能的情况,是我无法找到的一些错误配置。
这是该函数的代码:
function getPages($parentId)
{
$pages = array();
$query = "SELECT * FROM pages WHERE doktype IN(1, 2, 3, 4) AND deleted = 0 AND hidden = 0 AND pid = " . $parentId . " AND nav_hide = 0 ORDER BY sorting ASC";
$result = mysql(TYPO3_db, $query);
while ($row = mysql_fetch_array($result))
{
$pages[] = $row;
}
return $pages;
}
任何帮助都将不胜感激。
答案 0 :(得分:0)
首先,让其他具有此typo3版本的网站安装和使用相同的typo3扩展名(ph_nextgenmenu)吗?
之后请激活Typo3 INSTALL_TOOL中其他站点的错误报告。你需要寻找的部分是“display_errors”。也许其他网站也有同样的问题。
至少,如果PHP版本较新并且不包括错误消息中的扩展等已弃用的函数,我建议升级到较新的typo3版本,并找到用新版本替换扩展名(ph_nextgenmenu)或手动编辑它以直接使用TYPO3 SQL API或更新的PHP函数。
如果您想将扩展查询更改为TYPO3 API,API文档可能会对您有所帮助。
我认为如果您在扩展管理器中禁用该扩展程序,该网站应该像其他网站一样工作吗?