使用特定的PHP版本

4
我想加载一个特定的PHP版本(5.4),我使用的是Bluehost共享主机,它使用Apache并支持PHP 5.4。
我在子目录(/api)中有一个.htaccess文件和一个php.ini文件,其中有以下行:AddHandler application/x-httpd-php54 .php,指定服务器使用PHP 5.4。
我在/public_html中有另一个htaccess,它使用一个单一的php.ini文件,该文件位于该目录中。
我有一个名为Shell的文件,并带有以下hashbang行:#!/usr/bin/php -c/homex/xx/public_html/api/php.ini 我查看了PHP运行时的版本(通过hashbang行调用),它显示默认版本5.2,尽管我已经指定使用PHP 5.4并且在/api中使用php.ini。
另一方面,如果我通过浏览器调用我的脚本,则使用的PHP版本是5.4。
出了什么问题?我需要添加其他内容吗?
我该如何在调用哈希行的文件中使用PHP 5.4?
我从/api中删除了php.ini文件,并从AddHandler application/x-httpd-php54 .php.htaccess文件中删除了该行。因此,所使用的php.ini文件是来自/public_html的单个文件。
我还将该行添加到/public_html的.htaccess文件中:AddHandler application/x-httpd-php54s .php,意思是单个php.ini文件。

/user/bin/php 只是一个可执行文件,对吧?这就是文件开头的 hashbang-fu 的整个想法。我假设它被链接到了 5.2 版本?为什么不将 hashbang 行更改为 php 5.4 可执行文件呢? - Sumurai8
如何操作?我的脚本通过管道传输电子邮件,因此当有新的电子邮件时,我的脚本会被执行。 - Mathieu Smith
主要问题是您有哪种类型的托管计划?是共享的吗?虚拟专用的?独立的?您是否具有具有根权限的SSH访问? - unixmiah
@Meorg:只需找出服务器上的php 5.4所在位置,并相应地更改哈希bang,例如#!/usr/bin/php54 - prodigitalson
1个回答

2
根据 Bluehost 的说法,您必须在控制面板中选择您的 PHP 版本。取决于他们如何设置 Apache,您可能无法通过 .htaccess 选择要运行的 PHP 版本。

我们所有的服务器都支持(即能够运行)PHP 5.2 和 PHP 5.4。默认版本为 5.4.x,但您可以按照以下说明使用 PHP 5.2.X。但是,我们正在逐步淘汰 PHP 5.2.x,因为它不再得到其开发人员的支持。


这仅提供了Web服务器(即Apache)使用的PHP版本的说明,而不是OP想要的CLI上默认的版本。 - prodigitalson

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接