【发布时间】:2014-07-06 08:54:47
【问题描述】:
您好,我有一个脚本可以让人们登录到我的网站,脚本中有这个方法(我已经更改了值)
$con=mysql_connect("mydbdomain", "mydbusername", "mypassword");
现在我下载了一个开源文件上传程序并上传到我的服务器,只允许数据库中的用户使用它。这一切都很好。然后我去编辑处理文件上传的 php 代码,以便每次用户上传文件时,它都会进入与其用户名匹配的目录。
<?php
/*
* jQuery File Upload Plugin PHP Class 7.1.4
* https://github.com/blueimp/jQuery-File-Upload
*
* Copyright 2010, Sebastian Tschan
* https://blueimp.net
*
* Licensed under the MIT license:
* http://www.opensource.org/licenses/MIT
*
* Modified by leathan AxE
*/
class UploadHandler
{
...
...
...
...
function foo() { ... }
}
?>
上面名为 foo 的函数是我连接到数据库并提取未来目录的值的地方。但每当我有这条线。
$con=mysql_connect("mydbdomain", "mydbusername", "mypassword");
而不是
$con=@mysql_connect("mydbdomain", "mydbusername", "mypassword");
没有任何作用。为什么当我使用 @ 并抑制错误时它一切正常?为什么会出现错误?只有使用@时,文件才会完美地上传到用户名目录。我只是想了解发生了什么。我不明白怎么会出错,因为我使用了这条线
$con=mysql_connect("mydbdomain", "mydbusername", "mypassword");
在其他文件中,它始终有效。
【问题讨论】:
-
检查错误日志并发布您在那里找到的内容
-
这让我更加生气。在我的本地机器上,我不需要使用 @ 因为没有错误。但是当上传到 1and1 虚拟主机时,我需要使用 @。如何检查 1and1 主机中的 error.log?我不认为他们允许我...?
-
phpinfo() 没有给出 error_log 的值,而 ls ~/log 没有给出这样的文件或目录。并且无法访问 php.ini。还 find / -regex 'blabla' 给出了纯粹的权限被拒绝:/ 所以没有运气搜索。我不认为我有访问权限。我可以将错误重定向到我在脚本中选择的文件以找出答案吗?
-
@ 表示您不需要任何类型的错误消息 - 不要使用 mysql_connect 因为它已被贬低功能 - 请参阅stackoverflow.com/questions/11742824/…
-
是的,我知道。 :) Tnx tho.. 代码是 9 年前的 :) 现在添加 @ 就可以了。
标签: php runtime-error error-suppression