我在PHP 5.3.3上遇到Laravel 4会遇到什么问题?

时间:2013-06-12 09:36:00

标签: php laravel laravel-4

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

我需要更多的论据来解释这种情况并找到他的解决方案(没有移动,升级或云托管)。

问题如下:

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

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

2 个答案:

答案 0 :(得分: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-easily-extended

注意:某些发行版上的某些PHP版本的5.3.3确实将bcrypt算法修复后向移植到它们中,例如RedHat。您可以阅读如何测试您使用的发行版是否为其中之一here;如果是,你的发行版支持修复,反过来支持Laravel 4开箱即用。

答案 1 :(得分:2)

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

例如,我无法弄清楚为什么我的迁移不会运行 - 当几乎相同的本地设置工作时,artisan命令没有明显的原因失败。来发现我的根文件夹设置为5.2。与webhost人员进行快速聊天,他们向我展示了如何修复。 Presto-迁移工作。

我的大部分应用程序都有效,但工匠的功能对我来说是一个无法做到的事情。希望有所帮助。

此外,built-in php development web server非常方便 - 从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系列将仅获得明年的安全修复程序。