如何在BlueHost的或正在使用旧版本的ICU的任何其他服务器上安装Sylius安装?(How d

2019-09-29 13:40发布

我一直试图让这在共享主机上运行我的BlueHost的服务器上安装Sylius,虽然我确实有SSH访问,这是比较有限的。 它没有附带的PHP国际推广和ICU的它的版本是4.2安装Sylius时,因为它要更新的版本产生错误。

Answer 1:

我想这在一个干净的Sylius我BlueHost的服务器上安装并得到它的工作。

我以前安装的intl扩展我的BlueHost的服务器上以下https://my.bluehost.com/cgi/help/534

intl不需要扩展。 见下文。 (我试图安装它,然后我意识到我并不需要它)

安装该扩展后,phpinfo()函数说ICU的版本是4.2。

注:BlueHost的,你必须使用php-cli而不是php在命令行下运行PHP脚本

要安装Sylius我跑:

wget http://getcomposer.org/composer.phar
php-cli composer.phar create-project sylius/sylius -s dev

当运行创建项目,我收到了错误:

Your requirements could not be resolved to an installable set of packages.

Problem 1
- Installation request for symfony/icu 1.2.x-dev -> satisfiable by symfony/icu[1.2.x-dev].
- symfony/icu 1.2.x-dev requires lib-icu >=4.4 -> the requested linked library icu has the wrong version installed or is missing from your system, make sure to have the extension providing it.
Problem 2
- symfony/icu 1.2.x-dev requires lib-icu >=4.4 -> the requested linked library icu has the wrong version installed or is missing from your system, make sure to have the extension providing it.
- symfony/intl 2.3.x-dev requires symfony/icu >=1.0-RC,<2.0 -> satisfiable by symfony/icu[1.2.x-dev].
- Installation request for symfony/intl 2.3.x-dev -> satisfiable by symfony/intl[2.3.x-dev].

然后我用cd sylius迁入从部分项目安装方面的新目录。

从上一节http://symfony.com/doc/current/components/intl.html约ICU和部署问题,我说"symfony/icu": "1.1.*",或添加"symfony/icu": "1.0.*",如果你不具备intl安装扩展)composer.json的需要部分

然后我跑php-cli composer.phar update来获得所有需要一段时间的依赖关系(请确保您引用正确composer.phar因为它被下载到父目录)

所有的软件包被下载后,它要求的配置参数,数据库等信息

然后我跑php-cli app/console sylius:install

我跑php-cli app/console doctrine:fixtures:load和收到的错误:

[RuntimeException]
The country resource bundle could not be loaded for locale "en"

从信息https://github.com/symfony/symfony/issues/5279#issuecomment-12477297和https://github.com/kbsali/sf2-icu我跑

wget https://github.com/kbsali/sf2-icu/tarball/master -O sf2-icu.tgz
tar xzvf sf2-icu.tgz
mv kbsali-sf2-icu-XXXX/4.2 vendor/symfony/symfony/src/Symfony/Component/Locale/Resources/data/
rm -rf kbsali-sf2-icu-XXXX sf2-icu.tgz

然后进行编辑vendor/symfony/symfony/src/Symfony/Component/Locale/Locale.php和改变

const ICU_DATA_VERSION = '49';

const ICU_DATA_VERSION = '4.2';

我跑php-cli app/console doctrine:fixtures:load一次加载的所有数据Fixures直到LoadOrdersData失败,出现错误:

[ErrorException]
Warning: array_keys() expects parameter 1 to be array, object given in /home5/ozzieorc/public_html/sylius_clean/sylius/vendor/fzaninotto/faker/src/Faker/Provider/Base.php line 127

然后做在描述的变化https://github.com/Sylius/Sylius/pull/216/files -希望这成为主分支的一部分,并没有安装sylius时改变

php-cli app/console doctrine:fixtures:load第三次

我将我的IP到有效的IP地址的阵列web/app_dev.php ,所以我可以从BlueHost的服务器app_dev.php远程运行

在您的浏览器,你可以去web/app_dev.php和登录与管理领域

Username: sylius@example.com
Password: sylius

作为页面提示

希望这有助于安装Sylius有任何问题。 我花了一段时间来弄明白。 让我知道是否也有要对这个更好的方式。



Answer 2:

尝试这个:

apt-get install php5-intl


文章来源: How do I install Sylius on Bluehost or any other server that has an old version of ICU installed?