2015-09-21 170 views
2

我已经在bluemix系统中部署了ZF2应用程序。部署后,我到达如何在Bluemix中部署Zend Framework 2

Not Found

The requested URL/was not found on this server. error.

后,我已经添加.htaccess文件:

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^APP_HOST$ [NC,OR] 
RewriteCond %{HTTP_HOST} ^www.APP_HOST$ 
RewriteCond %{REQUEST_URI} !public/ 
RewriteRule (.*) /public/$1 [L] 

而得到错误:

Fatal error: Uncaught exception 'RuntimeException' with message 'Unable to load ZF2. Run php composer.phar install or define a ZF2_PATH environment variable.' in /home/vcap/app/htdocs/init_autoloader.php:53 Stack trace: #0 /home/vcap/app/htdocs/public/index.php(15): require() #1 {main} thrown in /home/vcap/app/htdocs/init_autoloader.php on line 53

我发现A CloudFoundry Build Pack for PHP.。我也试过如何描述,但没有结果。

+0

那么你运行'php composer.phar install'? – AlexP

+0

那里我没有SSH访问,所以我不能这样做。 –

回答

4

我发现部署任何PHP框架,以Bluemix系统的方式。我测试过ZF2和Yii2框架。 添加在

manifest.yml

buildpack: https://github.com/cloudfoundry/php-buildpack#v3.2.2 
    env: 
    CF_STAGING_TIMEOUT: 15 
    CF_STARTUP_TIMEOUT: 15 

创建的htdocs文件夹。将所有生成的项目文件到这个新创建的的htdocs文件夹这四个文件的例外:

  1. 的.gitignore
  2. composer.json
  3. composer.lock
  4. manifest.yml

在我们的应用程序的根目录中创建一个名为.bp-config的新文件夹。将目录更改为此文件夹并创建一个名为options.json的新字段。在这个文件中,包括以下json片段:

{ 
    "PHP_VERSION": "{PHP_55_LATEST}", 
    "COMPOSER_VENDOR_DIR": "htdocs/vendor", 
    "WEBDIR": "htdocs/public", 
    "PHP_EXTENSIONS": [ "bz2", "zlib", "openssl", "fpm", "tokenizer", "curl", "mcrypt", "mbstring", "pdo", "FRAMEWORK NAME"] 
} 

For Zend Framework 2 "FRAMEWORK NAME" to "ZF2", for Yii2 to "Yii2".

+0

我不能用“dot”作为第一个字符命名一个文件夹。 – Gokigooooks

0

请使用Zend框架buildpack代替:

https://github.com/zendtech/zend-server-php-buildpack-bluemix

# cf push -b https://github.com/zendtech/zend-server-php-buildpack-bluemix 
+0

以下是Laravel Framework的一个很好的说明:https://developer.ibm.com/bluemix/2014/06/17/getting-started-laravel-bluemix/ 您能否为其他PHP框架提供一步一步的示例? –