mirror of
https://github.com/wallabag/wallabag.git
synced 2024-11-26 11:01:04 +00:00
Merge pull request #1716 from wallabag/v2-enhance-requirements-installation
Fix #1603: Enhance requirements in InstallCommand
This commit is contained in:
commit
f83125d2f5
3 changed files with 44 additions and 15 deletions
|
@ -34,9 +34,11 @@ matrix:
|
|||
allow_failures:
|
||||
- php: hhvm
|
||||
|
||||
# exclude v1 branches
|
||||
branches:
|
||||
only:
|
||||
- v2
|
||||
except:
|
||||
- master
|
||||
- dev
|
||||
|
||||
before_script:
|
||||
- if [[ $TRAVIS_PHP_VERSION != hhvm ]]; then echo "memory_limit=-1" >> ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/travis.ini; fi;
|
||||
|
|
|
@ -29,6 +29,20 @@
|
|||
},
|
||||
"require": {
|
||||
"php": ">=5.5.9",
|
||||
"ext-pcre": "*",
|
||||
"ext-dom": "*",
|
||||
"ext-curl": "*",
|
||||
"ext-gd": "*",
|
||||
"ext-session": "*",
|
||||
"ext-ctype": "*",
|
||||
"ext-hash": "*",
|
||||
"ext-simplexml": "*",
|
||||
"ext-json": "*",
|
||||
"ext-mbstring": "*",
|
||||
"ext-xml": "*",
|
||||
"ext-iconv": "*",
|
||||
"ext-tokenizer": "*",
|
||||
"ext-pdo": "*",
|
||||
"symfony/symfony": "3.0.*",
|
||||
"doctrine/orm": "^2.5",
|
||||
"doctrine/doctrine-bundle": "^1.6",
|
||||
|
@ -111,7 +125,7 @@
|
|||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": { "": "src/" },
|
||||
"psr-4": { "Wallabag\\": "src/Wallabag/" },
|
||||
"classmap": [ "app/AppKernel.php", "app/AppCache.php" ]
|
||||
},
|
||||
"config": {
|
||||
|
|
|
@ -26,6 +26,14 @@ class InstallCommand extends ContainerAwareCommand
|
|||
*/
|
||||
protected $defaultOutput;
|
||||
|
||||
/**
|
||||
* @var array
|
||||
*/
|
||||
protected $functionExists = [
|
||||
'curl_exec',
|
||||
'curl_multi_init',
|
||||
];
|
||||
|
||||
protected function configure()
|
||||
{
|
||||
$this
|
||||
|
@ -65,27 +73,32 @@ class InstallCommand extends ContainerAwareCommand
|
|||
|
||||
$fulfilled = true;
|
||||
|
||||
$label = '<comment>PCRE</comment>';
|
||||
if (extension_loaded('pcre')) {
|
||||
$label = '<comment>PDO Drivers</comment>';
|
||||
if (extension_loaded('pdo_sqlite') || extension_loaded('pdo_mysql') || extension_loaded('pdo_pgsql')) {
|
||||
$status = '<info>OK!</info>';
|
||||
$help = '';
|
||||
} else {
|
||||
$fulfilled = false;
|
||||
$status = '<error>ERROR!</error>';
|
||||
$help = 'You should enabled PCRE extension';
|
||||
$help = 'Needs one of sqlite, mysql or pgsql PDO drivers';
|
||||
}
|
||||
|
||||
$rows[] = array($label, $status, $help);
|
||||
|
||||
$label = '<comment>DOM</comment>';
|
||||
if (extension_loaded('DOM')) {
|
||||
$status = '<info>OK!</info>';
|
||||
$help = '';
|
||||
} else {
|
||||
$fulfilled = false;
|
||||
$status = '<error>ERROR!</error>';
|
||||
$help = 'You should enabled DOM extension';
|
||||
foreach ($this->functionExists as $functionRequired) {
|
||||
$label = '<comment>'.$functionRequired.'</comment>';
|
||||
|
||||
if (function_exists($functionRequired)) {
|
||||
$status = '<info>OK!</info>';
|
||||
$help = '';
|
||||
} else {
|
||||
$fulfilled = false;
|
||||
$status = '<error>ERROR!</error>';
|
||||
$help = 'You need the '.$requirement.' function activated';
|
||||
}
|
||||
|
||||
$rows[] = array($label, $status, $help);
|
||||
}
|
||||
$rows[] = array($label, $status, $help);
|
||||
|
||||
$table = new Table($this->defaultOutput);
|
||||
$table
|
||||
|
|
Loading…
Reference in a new issue