【发布时间】:2015-02-25 23:01:52
【问题描述】:
我想加载一个特定的 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 与我的 hashbang 文件一起使用?
我已经从 /api 中删除了 php.ini 文件,并从 AddHandler application/x-httpd-php54 .php.htaccess 文件中删除了该行。所以使用的 php.ini 文件是来自/public_html 的单个文件。
我已经将该行从/public_html 添加到 .htaccess 中:AddHandler application/x-httpd-php54s .php s 这意味着单个 php.ini 文件。
【问题讨论】:
-
/user/bin/php只是一个可执行文件,对吗?这就是文件开头那个 hashbang-fu 背后的全部想法。我假设它符号链接到 5.2 版本?为什么不将 hashbang 行更改为 php 5.4 可执行文件? -
怎么做?我的脚本通过管道发送电子邮件,所以当有收到的电子邮件时,我的脚本就会被执行。
-
主要问题是您有什么样的托管计划?是共享的吗?虚拟专用?投入的?你有 root 权限的 ssh 访问权限吗?
-
@Meorg:只需找出 php 5.4 在服务器上的位置,然后根据
#!/usr/bin/php54更改 hashbang。
标签: php apache .htaccess bluehost shebang