2016-01-29 46 views
2

我试图将我的应用程序添加到使用IBM Bluemix的生产服务器。其实我是在免费的阶层,只是测试Bluemix。我的应用程序建立在Laravel 4.2上。使用IBM Bluemix进行Laravel数据库迁移

我已经创建了一个CLEARDB MySQL数据库和我编辑database.php中这样

首先,我添加了以下线顶端

<?php 

$services = json_decode(getenv('VCAP_SERVICES'), true); 
$sqlCreds = $services['cleardb'][0]['credentials']; 

return array(... 

后来我调整了MYSQL配置

'mysql' => array(
       'driver' => 'mysql', 
       'host'  => $sqlCreds['hostname'], 
       'database' => $sqlCreds['name'], 
       'username' => $sqlCreds['username'], 
       'password' => $sqlCreds['password'], 
       'charset' => 'utf8', 
       'collation' => 'utf8_unicode_ci', 
       'prefix' => '', 
     ), 

我还编辑了composer.json文件,以在推送项目时迁移数据库。

"scripts": { 
     "post-install-cmd": [ 
      "php htdocs/artisan clear-compiled", 
      "php htdocs/artisan optimize", 
      "php htdocs/artisan migrate --force" 
     ], 
     "post-update-cmd": [ 
      "php htdocs/artisan clear-compiled", 
      "php htdocs/artisan optimize" 
     ], 
     "post-create-project-cmd": [ 
      "php htdocs/artisan key:generate" 
     ] 
    }, 

但是,当我推送项目时,出现以下错误;

[PDOException]   
    could not find driver 
migrate [--bench[="..."]] [--database[="..."]] [--force] [--path[="..."]] [--package[="..."]] [--pretend] [--seed] 
Script php htdocs/artisan migrate --force handling the post-install-cmd event returned with an error 
    [RuntimeException]                         
    Error Output:                          
    [PDOException]                          
    could not find driver                        
    migrate [--bench[="..."]] [--database[="..."]] [--force] [--path[="..."]] [--package[="..."]] [--pretend] [--seed] 
install [--prefer-source] [--prefer-dist] [--dry-run] [--dev] [--no-dev] [--no-plugins] [--no-custom-installers] [--no-autoloader] [--no-scripts] [--no-progress] [-v|vv|vvv|--verbose] [-o|--optimize-autoloader] [--ignore-platform-reqs] [packages1] ... [packagesN] 
-----> Composer command failed 
Traceback (most recent call last): 
    File "/tmp/buildpacks/php-buildpack/scripts/compile.py", line 51, in <module> 
    .from_build_pack('lib/additional_commands') 
    File "/tmp/buildpacks/php-buildpack/lib/build_pack_utils/builder.py", line 189, in extensions 
    process_extension(path, ctx, 'compile', process, args=[self]) 
    File "/tmp/buildpacks/php-buildpack/lib/build_pack_utils/utils.py", line 69, in process_extension 
    success(getattr(extn, to_call)(*args)) 
    File "/tmp/buildpacks/php-buildpack/extensions/composer/extension.py", line 420, in compile 
    return composer.compile(install) 
    File "/tmp/buildpacks/php-buildpack/lib/extension_helpers.py", line 154, in compile 
    self._compile(install) 
    File "/tmp/buildpacks/php-buildpack/extensions/composer/extension.py", line 173, in _compile 
    self.run() 
    File "/tmp/buildpacks/php-buildpack/extensions/composer/extension.py", line 305, in run 
    *self._ctx['COMPOSER_INSTALL_OPTIONS']) 
    File "/tmp/buildpacks/php-buildpack/extensions/composer/extension.py", line 350, in run 
    shell=True) 
    File "/tmp/buildpacks/php-buildpack/lib/build_pack_utils/runner.py", line 109, in stream_output 
    raise CalledProcessError(retcode, cmd) 
build_pack_utils.runner.CalledProcessError: Command '<open file '<fdopen>', mode 'w' at 0x7f738ce24810>' returned non-zero exit status 1 
Staging failed: Buildpack compilation step failed 

FAILED 
BuildpackCompileFailed 

我是Bluemix的新手,无法找出问题。我相信在stackoverflow社区。任何帮助将不胜感激:)

回答