我知道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。
我知道Laravel 4的要求是PHP> = 5.3.7但我的客户端必须最近的应用服务器只有PHP 5.3.3。是的,三年的版本......
我需要更多的论据来解释这种情况并找到他的解决方案(没有移动,升级或云托管)。
问题如下:
[编辑]我对客户端配置的了解是:使用Apache 2.2和PHP 5.3.3的VMWare虚拟机上的Red Hat Enterprise Linux 6.3。
Laravel 4需要PHP 5.3.7
由于在散列密码时使用了bcrypt算法,因此在该版本中收到了一个巨大的错误修正。
看一下这篇文章,将Laravel 4的PHP要求降低到了 5.3.2
: http://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。您可以阅读如何测试您使用的发行版是否是其中之一 这里;如果是,你的发行版支持修复,反过来支持Laravel 4开箱即用。
我有一个远程webhost的经验,它提供了几个版本的php,并且不知何故,被设置为较旧的默认版本的php。
例如,我无法弄清楚为什么我的迁移不会运行 - 当几乎相同的本地设置工作时,artisan命令没有明显的原因失败。来发现我的根文件夹设置为5.2的东西。与webhost人员进行快速聊天,他们向我展示了如何修复。 Presto-迁移工作。
我应用程序的其余部分工作大部分都有效,但工匠的功能对我来说是一个无可救药的功能。希望有所帮助。
而且, 内置的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系列将仅获得明年的安全修复程序。