2015-09-21 73 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框架提供一步一步的示例? –