1
我已經閱讀了幾個關於通過Heroku使用ClearDB的問題,但他們都沒有提供足夠的指導來解決我的問題。Heroku PHP:通過Herrera PDO連接到ClearDB
所以,我的問題......
目前我已經有了部署PHP應用程序,除了我將在下面放置代碼基本上是空的。基本上,我試圖使用Herrera\PDOServiceProvider()
連接到我已閱讀的ClearDB。此外,它基本上與使用ClearDB副Postgre的Heroku PHP教程相同。
我收到一個錯誤,因爲我得到一個空白頁。教程顯示我應該看到一個單詞「hello」,現在已經消失了。
<?php
require('../vendor/autoload.php');
use Herrera\Pdo\PdoServiceProvider;
use Silex\Application;
$app = new Application();
$app['debug'] = true;
// Register the monolog logging service
$app->register(new Silex\Provider\MonologServiceProvider(), array(
'monolog.logfile' => 'php://stderr',
));
// Our web handlers
$app->get('/', function() use($app) {
$app['monolog']->addDebug('logging output.');
return 'Hello';
});
$dbopts = parse_url(getenv('DATABASE_URL'));
//print_r(array_values($dbopts));
$app->register(new PdoServiceProvider(),
array(
'pdo.dsn' => 'mysql:dbname='.ltrim($dbopts["path"],'/').';host='.$dbopts["host"],
'pdo.port' => $dbopts["port"],
'pdo.username' => $dbopts["user"],
'pdo.password' => $dbopts["pass"]
)
);
$host = $app['pdo.dsn.host'];
$dbname = $app['pdo.dsn.mysql:dbname'];
$user = $app['pdo.username'];
$pass = $app['pdo.password'];*/
$pdo = new PDO("mysql:host='.$host.'; dbname='.$dbname.';", $user, $pass);
$statement = $pdo->query("SELECT title FROM news");
$row = $statement->fetch(PDO::FETCH_ASSOC);
echo htmlentities($row['title']);
app->run();
我不知道什麼是錯的,但我知道它是與數據庫連接,因爲當我註釋掉單詞「你好」顯示備份在我的遠程站點。
任何幫助表示讚賞。謝謝。
我會盡快嘗試這一點,謝謝你爲我投入這個時間。對此,我真的非常感激! – 2014-09-29 22:59:45
這可行,但我決定使用一個模板引擎/服務以及一個PDO提供程序,它直接使用$ app而不是將應用程序分解爲變量。再次感謝。將來我可能不得不使用它。 – 2014-09-30 01:12:31
歡迎克里斯,如果你再次需要我的幫助,讓我知道!謝謝! – meda 2014-09-30 01:17:49