我已经工作了好几个小时但却找不到错误。也在互联网上搜索但似乎没有解决我的奇怪问题。有点奇怪,因为相同的代码适用于我拥有的不同应用程序。唯一不同的是我现在连接到Sybase,之前的应用程序连接到MySQL。以下是我在DB类中的内容:
class DB{
private static $_instance = null;
private function __construct(){
try{
$this->_pdo = new PDO ("dblib:host=host:port;dbname=myDb","username","pwd");
echo 'Connected';
}
catch(PDOException $e){
die($e->getMessage());
}
}
public static function getInstance(){
if(!isset( self::$_instance )){
self::$_instance = new DB();
}
return self::$_instance; //this line generates 500 internal server error in browser console
}
}
我在index.php中的代码
echo DB::getInstance();
输出单词" Connected"但同时在我的浏览器控制台中产生500代码错误。我真的不明白为什么return self::$_instance
遇到问题。当我return 'test'
时没有生成错误。我知道我错过了一些东西,但我无法理解为什么。我在Ubuntu上使用PHP 5.3。提前谢谢。
答案 0 :(得分:0)
echo
很可能是问题所在。 DB::getInstance
应该返回一个对象,你不能回复"对象。您在错误日志中找到的错误很可能"无法将对象转换为字符串"。