2011-04-08 110 views
0

我得到一個「未處理的異常」每次我嘗試運行此標準時間包括在HTML文件中運行的Python:如何在運行python的HTML文件中運行php?

<?php 
//add header with tabs 
include('includes/templates/common/tpl_header.php'); 
?> 

我想正確的body標籤看起來像這樣下運行它:

<body py:match="body" py:attrs="h.append_class_attr(attrs, 'mcore-body')" py:with=" 
    attrs = h.attrs_to_dict(select('@*')); 
    body_class = attrs.get('class', '').split(' '); 
    advertising_banner_html = g.settings['advertising_banner_html']; 
"> 

...對不起,但我不是最熱心的程序員,你怎麼讓那隻小狗跑?!

+8

什麼??????????? – 2011-04-08 05:14:59

+0

請更好地解釋。哪個文件是什麼?哪一個正在運行Python? – 2011-04-08 05:19:33

+0

@Col。我的第一反應完全是彈片! – JohnP 2011-04-08 05:22:56

回答

0

HTML是HTML,Python是Python,PHP是PHP。
這是三種不同的技術,其中不能混用。
不能「在HTML文件中運行標準PHP包含」。
不能「在Python文件中運行標準PHP包含」。
您只能在PHP文件中運行PHP代碼。

您無法在HTML文件中運行Python代碼。您只能在Python文件中運行Python代碼。

所以,整個問題是沒有意義的。

看起來你應該在使用Python時忘記PHP,並使用Python功能來包含文件。當然,它不應該是PHP文件,而是Python或至少是HTML文件

+0

Actualy你可以在HTML文件中運行標準的PHP包含! – 2011-04-08 06:33:49

+0

@ARTstudio不可以。 – 2011-04-08 06:41:05

+0

例如在Apache服務器上,您可以將下一行添加到.htaccess:RemoveHandler .html .htm AddType應用程序/ x-httpd-php .html 並且在所有HTML文件將通過PHP解析後,所以代碼如<? include_once('some_file.php');?>會像在php文件中一樣唱歌。 – 2011-04-08 06:48:50

0

您不能在Pytho中「運行」PHP。

Genshi擁有xi:include但它只能包含本地文件。

它可以顯然以某種方式從遠程URL加載數據 - Here's有一些指針(但沒有現成的解決方案)的答案如何做到這一點。

如果您設法使Genshi獲取遠程文件,您可以將其指向本地PHP URL:http://localhost/scripts/myscript.php但請注意,這將啓動遠程PHP實例,並且可能比純文件系統查找慢。

自定義Trac安裝時,我一直處於這種情況。我總是最終使用的解決方法是通過cron作業手動或頻繁地運行PHP腳本,然後寫入可使用xi:include包含的靜態文件。