我一直试图让这在共享主机上运行我的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