From 5d23d2631e579aa7cf9325c5f0a3ea3d8dedfbb7 Mon Sep 17 00:00:00 2001 From: Sendya <18x@loacg.com> Date: Wed, 17 Aug 2016 18:17:55 +0800 Subject: [PATCH] fix : in china download Composer FAILED doc : update config.simple default help doc --- Data/Config.simple.php | 7 +++++++ index.php | 46 ++++++++++++++++++++++++++---------------- 2 files changed, 36 insertions(+), 17 deletions(-) diff --git a/Data/Config.simple.php b/Data/Config.simple.php index 817665ed..33a16973 100755 --- a/Data/Config.simple.php +++ b/Data/Config.simple.php @@ -10,6 +10,9 @@ /** * Site Name + * 网站名称 + * 模板 LOGO 若是图制,则需自行修改图片 + * 其余所有页面展示名称皆为此配置项内容 */ define('SITE_NAME', 'SS Cat'); @@ -67,6 +70,10 @@ /** * Database Connection: + * 请修改此处配置: + * dbname 数据库名称 + * host 数据库连接IP地址 + * 最后两项 root password 替换成你的数据库 用户 与 密码 */ Core\Database::initialize('mysql:dbname=sspanel;host=localhost;port=3306;charset=UTF8', 'root', 'password'); diff --git a/index.php b/index.php index aeb2a73f..53ddf62a 100644 --- a/index.php +++ b/index.php @@ -116,6 +116,25 @@ function colorize($text, $status) { return chr(27) . "$out" . "$text" . chr(27) . "[0m"; } +function download_composer($url) { + echo 'Downloading composer...'; + $ch = curl_init($url); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); + curl_setopt($ch, CURLOPT_TIMEOUT, 60); + // curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); + $binary = curl_exec($ch); + if (curl_errno($ch)) { + echo colorize('FAILED!' . PHP_EOL . curl_error($ch), 'FAILURE'); + curl_close($ch); + return false; + } + $fp = fopen(ROOT_PATH . 'composer.phar', 'wb'); + fputs($fp, $binary); + fclose($fp); + curl_close($ch); + echo 'Done!' . PHP_EOL; +} + function print_arr($arr) { foreach($arr as $ret) { echo $ret . PHP_EOL; @@ -125,22 +144,9 @@ function print_arr($arr) { switch ($argv[1]) { case 'install': if (!file_exists(ROOT_PATH . 'composer.phar')) { - echo 'Downloading composer...'; - $ch = curl_init("http://getcomposer.org/composer.phar"); - curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); - curl_setopt($ch, CURLOPT_TIMEOUT, 60); - // curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); - $binary = curl_exec($ch); - if (curl_errno($ch)) { - echo colorize('FAILED!' . PHP_EOL . curl_error($ch), 'FAILURE'); - curl_close($ch); - break; + if (download_composer("http://getcomposer.org/composer.phar") === false) { + download_composer("http://static.loacg.com/soft/composer.phar"); } - $fp = fopen(ROOT_PATH . 'composer.phar', 'wb'); - fputs($fp, $binary); - fclose($fp); - curl_close($ch); - echo 'Done!' . PHP_EOL; } exec(PHP_BINARY . ' ' . ROOT_PATH . 'composer.phar -V', $return_arr); print_arr($return_arr); @@ -161,7 +167,7 @@ function print_arr($arr) { echo colorize('It seems composer failed to install package', 'FAILURE') . PHP_EOL; break; } - echo 'Now reloading packages and config...'; + echo 'Now reloading packages and config...'. PHP_EOL; $configFile = DATA_PATH . 'Config.php'; if (!file_exists($configFile)) { echo 'Config Unknown... copying..' . PHP_EOL; @@ -171,7 +177,13 @@ function print_arr($arr) { } @include ROOT_PATH . 'Package/autoload.php'; - @include DATA_PATH . 'Config.php'; + try { + @include DATA_PATH . 'Config.php'; + } catch (PDOException $e) { + echo colorize('Database not available! Please modify ./Data/Config.php and try again', 'WARNING') . PHP_EOL; + break; + } + if (Option::getConfig('ENCRYPT_KEY') == 'Please generate key and paste here') { Option::setConfig('ENCRYPT_KEY', Option::createKey()); }