我正在使用共享网络空间,但我无法为 php 安装 dotenv 库,但是我可以使用 python 的 dotenv 库从公共目录外部调用环境变量,并且我还为 php 设置了 basedir,所以该 php 无法直接访问我的 .env
文件。
为了使用密钥调用我的 .env
文件,我在 php 函数 'exec' 上运行了 bash.sh 并且该 bash.sh 脚本调用/运行我的 python 脚本以加载 .env
文件。效果很好。
但是现在,我想通过带有 for 循环的 python 代码打印出所有可用的环境变量,而我总是只得到列表的最后一个元素。
我还创建了一个简单的 python 测试脚本,把它放在我的服务器上,我遇到了同样的问题。
PHP 文件:
echo exec("./bashENV.sh", $error);
bashENV.sh:
#!/bin/bash
chmod +x ./testENV.py
python ./testENV.py
testENV.py:
#!/usr/bin/env python
nums = [1 ,2, 3]
for num in nums:
print(num)
如果我在本地电脑上运行 python 脚本,它会打印出 1、2、3。但是在我的共享空间上,我只有 3。它在网络服务器上运行 python 2.7.13,我无法安装版本 3。
有谁知道,我的代码有什么问题?为什么脚本只打印最后一个元素?