我有一个连接到远程SQL Server的PHP脚本。 在命令行中以root身份,我可以调用freetds的命令: TSQL -H主机名-u用户名 并把它连接好了,我可以运行查询。来自PHP的Freetds SQL Server连接错误:权限?
我在/var/www/html/axis/public/test.php有一个PHP脚本 当我:sudo -u apache -s(将用户从根改为apache),然后运行我的PHP脚本命令行,它连接并运行查询很棒。 但是,当从Web浏览器执行相同的脚本时,它失败 - 浏览器返回一个DB连接错误。 Web浏览器能够连接到任何地方,并呈现所有不需要SQL连接的网页。
apache是运行httpd的用户。我已经通过:ps aux |确认了这一点grep的阿帕奇
任何想法,为什么Apache可以执行的命令行PHP脚本很好,但是当浏览器尝试连接到同样的脚本,它失败了呢?
感谢, 德里克
是的,我读了一个。如上所述,我将用户更改为apache,并从commmand行执行PHP脚本就好了。这不是像在浏览器中直接执行相同的脚本一样吗? 连接字符串可能不那么重要,因为PHP脚本是作为apache启动的,但不是来自浏览器。他们都执行相同的脚本。 错误如下:SQLSTATE [HY000]无法连接:Adaptive Server不可用或不存在(严重性9) – Derrick