11

我知道 Laravel 4 的要求是 PHP >= 5.3.7,但我的客户端必须最近的应用程序服务器只有 PHP 5.3.3。是的,三年前的版本...

我需要更多的论据来解释情况并与他一起找到解决方案(不移动、升级或云托管)。

问题如下:

  • 我可以让 L4 使用 PHP 5.3.3 运行吗?
  • 如果不是,为什么?
  • 如果是这样,如何以及有什么限制?

[编辑] 我对客户端配置的了解是:Red Hat Enterprise Linux 6.3 on VMWare 虚拟机与 Apache 2.2 和 PHP 5.3.3。

4

2 回答 2

12

Laravel 4 需要 PHP 5.3.7,因为在散列密码时使用 bcrypt 算法,该版本在该版本中收到了一个巨大的错误修复。

看看这篇文章,将 Laravel 4 的 PHP 要求降低到5.3.2http ://laravel.io/topic/39/laravel-4-easily-extended

编辑:这是链接文章的存档版本,因为原始版本似乎已关闭: https ://web.archive.org/web/20130805153640/http://laravel.io/topic/39/laravel-4-易于扩展

注意:某些发行版上的某些 PHP 版本5.3.3确实将 bcrypt 算法修复反向移植到其中,例如 RedHat。您可以在此处阅读如何测试您正在使用的发行版是否是其中之一;如果是,您的发行版支持该修复程序,进而支持开箱即用的 Laravel 4。

于 2013-12-13T13:07:04.700 回答
2

我有一个远程虚拟主机的经验,它提供了几个版本的 php,并且不知何故被设置为较旧的默认版本的 php。

例如,我无法弄清楚为什么我的迁移无法运行 - 当几乎相同的本地设置工作时,工匠命令无缘无故失败。来发现我的根文件夹设置为 5.2 的东西。与网络托管人员进行了快速聊天,他们向我展示了如何解决。预迁移工作。

我的应用程序的大部分其余部分都可以工作,但工匠功能对我来说是不能做的。希望有帮助。

此外,内置的 php 开发 web 服务器很方便 - 从 5.4 开始。

编辑:这是给你的更多弹药:我遇到的另一个具体问题:

root@Grisbuntu:/home/ryan/MyApp6# php /usr/bin/composer.phar update
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

Problem 1
- zizaco/entrust dev-master requires php >=5.4.0 -> no matching package found.

...

root@Grisbuntu:/home/ryan/MyApp6# php -v
PHP 5.3.10-1ubuntu3.6 with Suhosin-Patch (cli) (built: Mar 11 2013 14:31:48)

所以你有它:Entrust 是一个没有 5.4 就不能使用的包的具体例子......

sudo add-apt-repository ppa:ondrej/php5
sudo apt-get update
sudo apt-get install php5
php -v

...PHP 5.4.15-1~precise+1 (cli) (built: May 13 2013 16:00:00)

composer update
...

我希望对某人有所帮助!

更新:2013 年 7 月,根据php.net:请注意:这将是 PHP 5.3 系列的最后一个常规版本。鼓励所有 PHP 用户升级到 PHP 5.4 或 PHP 5.5。PHP 5.3 系列将只收到明年的安全修复程序。

于 2013-06-13T03:43:16.943 回答