2014-02-27 11 views
0

每當我提出一個git包我packagist安裝,我得到以下錯誤:提交包packagist造成「composer_home環境變量」錯誤

enter image description here

Uncaught Exception: [RuntimeException] The HOME or COMPOSER_HOME environment variable must be set for composer to run correctly

我試着手動導出變量,但這似乎不能解決錯誤。

+0

看起來像packagist.org網站上的失敗,不是嗎? – Sven

+0

這是一個自我託管的packagist安裝 – etc

回答

2

PHP的用戶沒有HOME或COMPOSER_HOME集,所以我創造了我的網站根目錄的php.ini文件,其內容如下:

auto_prepend_file = /home/yourusername/directory/set_environment.php

然後我創建了一個set_environment.php文件在同一個目錄中,並設置我的COMPOSER_HOME目錄。

<?php putenv("COMPOSER_HOME=/home/etc/webapps/novuspackagist/.composer"); ?>

現在,每當應用程序運行時,COMPOSER_HOME環境變量將被設置。

1

更簡單的方法是將環境變量添加到Apache配置虛擬主機塊內,例如:

<VirtualHost *:80> 

    ServerName myhost.home 

    ServerAdmin [email protected] 
    DocumentRoot /var/www/packagist/web 

    ErrorLog ${APACHE_LOG_DIR}/error.log 
    CustomLog ${APACHE_LOG_DIR}/access.log combined 

    <Directory /var/www/packagist/web> 
      AllowOverride All 
      SetEnv COMPOSER_HOME /home/<user> 
    </Directory> 
</VirtualHost> 

正如你可以看到SetEnv COMPOSER_HOME /home/<user>指令,使之成爲可能。 這應該解決那種問題。