【发布时间】:2018-11-13 15:21:57
【问题描述】:
我通过 Godaddy 有一个仅支持 python 2.6.6 的托管计划。我已经能够通过 SSH 安装 python 2.7 和 3.6 并运行脚本,pip,没有问题。
当我尝试运行从 SSH 调用 python 脚本的 PHP 脚本时,使用我的新 python 安装它可以正常工作,但是当我在浏览器中打开 PHP 脚本时,它只会运行 2.6.6。
这是为什么?有没有办法在没有 VPS 的情况下解决这个问题?
【问题讨论】:
我通过 Godaddy 有一个仅支持 python 2.6.6 的托管计划。我已经能够通过 SSH 安装 python 2.7 和 3.6 并运行脚本,pip,没有问题。
当我尝试运行从 SSH 调用 python 脚本的 PHP 脚本时,使用我的新 python 安装它可以正常工作,但是当我在浏览器中打开 PHP 脚本时,它只会运行 2.6.6。
这是为什么?有没有办法在没有 VPS 的情况下解决这个问题?
【问题讨论】:
我认为这里发生的情况是,您可以通过直接调用 SSH 会话手动运行 Python3。
但是,您的 PHP 安装可能不知道您安装了多个 Python 实例。猜测一下,您的 PHP 安装默认为其环境路径(或其他预定库目录),它可以在其中找到 Python 安装(此安装是原始 2.7)。
我不确定您是如何调用 Python 脚本的,但这里有一个答案:Calling specific version of python from PHP 谈论更改脚本中的 Python 版本。
另一种可能的解决方案是将包含 Python3 的目录添加到您的 $PATH 变量中。警告的话,如果这是一个共享系统,它可能会被禁用或者可能会给你带来一些麻烦。由于更改路径可能会启动其他 python 脚本(属于其他人)被 Python3 调用,这可能会破坏它们(由于不推荐使用的语法等)
当您想开始搞乱系统配置时,您将进入 VPS 领域,而不是共享主机。
【讨论】:
我找到了一个偷偷摸摸的方法来解决这个问题。我使用SSH2 PHP扩展来调用python3。
【讨论】: