Bottle Web服务器 - 如何提供PHP文件?

时间:2017-07-26 15:55:55

标签: php python bottle

我正在开发一个使用Bottle路由的其他人制作的webapp。我想创建一个简单的登录页面,需要一些PHP。如果我将PHP页面作为static_file返回,那么任何HTML都将被执行,但PHP不会,原因显而易见。我应该如何提供PHP文件以使其动态化?

不工作:

@route('/login')
def serve():
   return static_file('login.php', root='.')

2 个答案:

答案 0 :(得分:4)

为了服务PHP文件,您需要在Web服务器上安装PHP。此外,需要将Web服务器配置为检测PHP文件并执行它们。

从Python提供PHP文件有点无用,不推荐使用。 我建议你花时间将这个脚本从PHP翻译成Python。

答案 1 :(得分:0)

我昨天想做同样的事情,但是我对问题的回答清楚地表明,这既不可能,也非常困难。我想到编写一个小的python程序来运行服务器内置的PHP。注意:PHP必须能够从命令行运行,才能正常工作。

spring.datasource.driverClassName=org.postgresql.Driver
spring.datasource.url=jdbc:postgresql://myhost.com:5432/mydb
spring.datasource.username=myusername
spring.datasource.password=mypassword

请记住,端口必须是4个数字。托管此代码后,只需在浏览器中键入代码,即可从运行此代码的文件夹中返回任何文件。示例:

#Import the os package so that this code can run commands
import os

#Get the port that the user wants to host on
port = str(input("What port would you like to host on?"))

#Add wanted port to the command that hosts the php server
cmd = "php -S localhost:" + port

#Actually run the command to host php server
os.system(cmd)

#Now the PHP server will take over until you
#use ctrl + C to quit hosting

在您要求的localhost端口上返回login.php(如果存在)。