Как создать более старый (2.4, а не 2.5) проект ZF2 с ZFTool

В текущей папке я установил ZFTool

$ cat composer.json
{
    "require" : {
        "php" : ">=5.3.3",
        "zendframework/zftool": "v0.1.0",
        "zendframework/zendframework": "2.4.8"
    }
}

$ /opt/lampp/bin/php ./vendor/bin/zf.php version
ZFTool - Zend Framework 2 command line Tool
The application in this folder is using Zend Framework 2.4.8

я попробую

Сначала установите ZF2, а затем создайте проект

$ /opt/lampp/bin/php ./vendor/bin/zf.php install zf proj000 2.4.8
The ZF library 2.4.8 has been installed in proj000.

$ /opt/lampp/bin/php ./vendor/bin/zf.php create project proj000
The directory proj000 already exists. You cannot create a ZF2 project here.

Я получил правильную версию библиотеки, но не могу создать проект.

Сначала создайте проект, а затем установите ZF2

$ /opt/lampp/bin/php ./vendor/bin/zf.php create project proj001
sh: 1: php: not found
PHP Warning:  copy(/tmp/composer.phar): failed to open stream: No such file or directory in /PATH/vendor/zendframework/zftool/src/ZFTool/Controller/CreateController.php on line 85

Warning: copy(/tmp/composer.phar): failed to open stream: No such file or directory in /PATH/vendor/zendframework/zftool/src/ZFTool/Controller/CreateController.php on line 85
PHP Warning:  chmod(): No such file or directory in /PATH/vendor/zendframework/zftool/src/ZFTool/Controller/CreateController.php on line 87

Warning: chmod(): No such file or directory in /PATH/vendor/zendframework/zftool/src/ZFTool/Controller/CreateController.php on line 87
ZF2 skeleton application installed in proj001.
In order to execute the skeleton application you need to install the ZF2 library.
Execute: "composer.phar install" in proj001
For more info in proj001/README.md

$ /opt/lampp/bin/php ./vendor/bin/zf.php install zf proj001 2.4.8
The directory proj001 already exists. You cannot install the ZF2 library here.

Когда я проверяю proj001/composer.json, я вижу, создаются настройки ZF 2.5

{
    "name": "zendframework/skeleton-application",
    "description": "Skeleton Application for ZF2",
    "license": "BSD-3-Clause",
    "keywords": [
        "framework",
        "zf2"
    ],
    "homepage": "http://framework.zend.com/",
    "require": {
        "php": ">=5.5",
        "zendframework/zendframework": "~2.5"
    }
}

ZFTool создал проект с composer.json, адаптированным для ZF 2.5, а не ZF 2.4. Я не могу использовать его, так как у меня хостинг сервер с PHP 5.4

1 ответ

Я пришел со следующим решением. Я изменяю сгенерированный proj001/composer.json на 2.4 настройки

{
    "name": "zendframework/skeleton-application",
    "description": "Skeleton Application for ZF2",
    "license": "BSD-3-Clause",
    "keywords": [
        "framework",
        "zf2"
    ],
    "homepage": "http://framework.zend.com/",
    "require": {
        "php": ">=5.4",
        "zendframework/zendframework": "<=2.4.9",
        "zendframework/zftool": "*",
        "phpunit/phpunit": "4.7"
    }
}

Сейчас, php composer.phar install устанавливает старые пакеты, такие как zendframework/zendframework (2.4.9)

Другие вопросы по тегам