我在web根目录(public_html/)中运行了一个Drupal9.x站点。我需要运行一些python脚本(目前在public_html/python/中),并在一个在Drupal模板中调用的iframe中显示输出。python文件的权限为755,但当我加载调用iframe的页面时,它将显示python代码,而不是执行脚本和显示输出。
如何在drupal文件树中豁免特定的自定义子文件夹以允许(python)文件执行?
如果我在子文件夹中运行Drupal (public_html/drpal9/..)我引用drupal文件夹下的python脚本(public_html/python/script.py),所有这些都很好。
发布于 2022-10-29 00:21:50
您应该使用php exec https://www.php.net/manual/en/function.exec.php。
我建议您将python脚本放到另一个目录中。
例如,创建一个名为/home/pythonScripts的目录
$ mkdir /home/pythonScripts
$ touch /home/pythonScripts/hola.py
$ echo "print (\"Python\")" > hola.py
$ chmod +x /home/pythonScripts/hola.py(当然,您将使用自己的python脚本)
验证python在哪里:
$ which python
/usr/bin/python当然,您可以使用以下方法运行此程序:
$ python /home/pythonScripts/hola.py
Python或者(这是一样的)
$ /usr/bin/python /home/pythonScripts/hola.py
Python在您的模块中,PHP代码!
<?php
....
$binPython="/usr/bin/python";
$pathPythonScripts="/home/pythonScripts/";
// name of the script
$script="hola.py";
$result = exec($binPython." ".$pathPythonScripts.$script);当然,您可以添加验证等。
然后您可以使用$result在小枝模板中使用。
问候
列奥纳多
https://stackoverflow.com/questions/74230599
复制相似问题