我有一个连接到远程 SQL Server 的 PHP 脚本。从命令行以 root 身份我可以调用 freetds 命令:tsql –H 主机名 –U 用户名,它连接得很好,我可以运行查询。
我在 /var/www/html/axis/public/test.php 中有一个 PHP 脚本当我: sudo –u apache –s(将用户从 root 更改为 apache)然后从命令行运行我的 PHP 脚本时,它连接并运行查询非常好。但是当从 Web 浏览器执行相同的脚本时,它会失败 - 浏览器返回一个 DB 连接错误。Web 浏览器能够连接到它应该连接的任何地方,并呈现所有不需要 SQL 连接的网页。
apache 是运行 httpd 的用户。我已经通过以下方式确认了这一点:ps aux | grep 阿帕奇
关于为什么 apache 可以从命令行很好地执行 PHP 脚本的任何想法,但是当浏览器尝试连接到相同的脚本时,它会失败?
谢谢, 井架