我正在开发一个使用Bottle路由的其他人制作的webapp。我想创建一个简单的登录页面,需要一些PHP。如果我将PHP页面作为static_file返回,那么任何HTML都将被执行,但PHP不会,原因显而易见。我应该如何提供PHP文件以使其动态化?
不工作:
@route('/login')
def serve():
return static_file('login.php', root='.')
答案 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(如果存在)。