2014-12-06 146 views
1

我知道,我知道,聽起來很奇怪。在heroku上的Flask應用程序中運行PHP腳本

我在heroku上有一個燒瓶應用程序,它運行得很好。我必須有一個運行PHP腳本的頁面,與我的燒瓶後端幾乎沒有任何關係。它連接到外部數據庫並在頁面上呈現幾行。例如,

<?php 
    mysql_connect($hostname, $username, $password) or DIE ("connection failed"); 
    mysql_select_db($dbname); 
    $id = REQUEST["id"]; 
    $query = "select * from table1" 
    $result = mysql_query($query) or die(mysql_error()); 
    $row = mysql_fetch_array($result); 
?> 
// leaving out for brevity 
<div class="container"> 
    <?php 
    echo "$row['name']<br/>" 
    ?> 
</div> 

但是,如果可能,我寧願不做一個全新的應用程序來運行一到三個PHP腳本。所有重要的是PHP頁面中的腳本運行。 db是一個外部mysql數據庫

是否有可能沿着一個燒瓶應用程序運行它?如果是這樣,怎麼樣?

+1

順便說一句,你真的** **不應該使用'mysql_ *'方法,因爲它們是不安全的。使用['MySQLi'](http://php.net/manual/en/book.mysqli.php)或['PDO'](http://php.net/manual/en/ref.pdo-mysql。 PHP)對象。 – MattDMo 2014-12-06 20:43:04

回答

2

首先,您需要確保您的Heroku應用程序在安裝PHP的情況下運行;可能它不會。

您可能會使用PHP和Python附帶的custom build pack來獲取此信息。

一旦你有了PHP,你就可以運行從Python調用PHP解釋器的腳本。

php_output = subprocess.check_output(["php", "script.php"])

相關問題