在 LAMP 服务器中,我可以直接在 www 文件夹下运行 php 文件,但在更深的文件夹(更多子文件夹)下我无法启动 php 文件。有设置吗?
[Thu Sep 28 02:50:35.987756 2017] [:error] [pid 893] [client 192.168.137.100:55784]
PHP Fatal error: Uncaught Error: Call to undefined function mysql_connect() in /srv/www/htdocs/test/tiltangle/dpd/query.php:12\nStack
trace:\n#0 {main}\n thrown in /srv/www/htdocs/test/tiltangle/dpd/query.php on line 12,
referer: 192.168.137.238/test/tiltangle/dpd/queryform.php
root@web:/var/log/apache2# cat tail error.log
答案1
您看到的问题与您的 DocumentRoot 目录层次结构中的 .php 文件的位置无关。
问题是你正在调用已弃用的(年份)mysql_()API,而不是mysqli-() API(注意 mysql 后面的“i”字符)。
此 API 已弃用多年 + 在 PHP-7.0 中最终被删除,因此通过 PHP-5.6 你会收到关于此代码的弃用消息,告诉你将 mysql_connect() 升级到 mysqli_connect()。
从 PHP-7.0 开始,所有这些旧代码都已被删除,因此旧的 API 调用现在会引发致命错误。
因此解决方法是将所有 API 调用更改为新 API。
对整个代码库执行 find + grep + 确保已更改所有文件。
我有许多文件可以使用phpcs查找所有不兼容之处 +phpcbf自动修复大多数问题。