2014-12-03 41 views
4

我是新來的Symfony2的,我是用作曲現在Symfony的安裝提供了致命的錯誤

它給了我一段時間後,一個致命錯誤以下http://symfony.com/doc/current/book/installation.html安裝:

monolog/monolog suggests installing rollbar/rollbar (Allow sending log messages to Rollbar)

Writing lock file

Generating autoload files

Fatal error: Call to undefined method Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::defineDirectoryStructure() in /Users/app/SymfonyStandard/RootPackageInstallSubscriber.php on line 28

+0

你是如何設置Symfony的?使用GIT,Composer或檔案? – 2014-12-03 16:05:29

+0

我正在使用作曲家來安裝 – user1221098 2014-12-03 16:11:40

+0

天知道誰降低了投票率,有投票權。特別是因爲我有相同的問題:( – 2014-12-03 22:25:20

回答

2

解決:

得到了同樣的問題。通過curl -s https://getcomposer.org/installer | php刪除的文件composer.phar,再安裝 - 問題仍然存在

/path/to/webroot/project/vendor/sensio/distribution-bundle/Sensio/Bundle/DistributionBundle/ScriptHandler.php文件沒有方法defineDirectoryStructure()在它

symfony/framework-standard-edition (v2.6.1)

PHP 5.5.9-1ubuntu4.5 (cli) (built: Oct 29 2014 11:59:10)

問題就在這裏 sensio/distribution-bundle (v3.0.11)

謝謝@hap,這有幫助 sudo apt-get install php5-curl

0

也得到了同樣的問題...在debian distrib上工作,但不能在我的Windows 7上運行!

所以嘗試更新我的WAMP,讓PHP5.5,重新作曲使用這個PHP,仍然沒有工作..

然後我試圖啓動控制檯管理員模式,並啓動:

「作曲家創建項目symfony /框架標準版sfproject /」

並猜測什麼....終於奏效了!有管理員權限...只要試一試;)

0

我有同樣的問題。我剛剛在composer.json中添加了字符串「symfony/symfony」:「2.3。*」,它爲我工作。

此外,我刪除了我的composer.phar和composer.lock文件。

問題是,如果你在你的項目symfony 2.3中安裝了v 2.7的依賴關係。

0

我把這個錯誤從安裝到一個新的流浪虛擬機,它似乎最近做的事情已經打破了這個,因爲我上週安裝了一個2.6.0版本,而測試,現在它不起作用。

經過一番反覆試驗,似乎2.6x和2.5x分支都受到影響,不會安裝,但2.3x和2.4x的安裝沒有錯誤。

櫃面有人不知道如何安裝特定的版本,只是將它加入到作曲家命令的結束,即

composer create-project symfony/framework-standard-edition . 2.4.x 

VM:Ubuntu的14.01/PHP 5.5.9

0

我在使用PuPHPet和Vagrant/VirtualBox設置的Ubuntu 14.04 VM中也遇到同樣的問題。

我注意到,當我遇到同樣的問題時,DistributionBundle嚴重過時了。嘗試從composer.json手動升級它(將版本更改爲3.0.12,這是我遇到問題時可用的las版本)會產生更詳細的錯誤,說明我沒有安裝php5-curl。

在更新PuPHPet配置文件以包含PHP的cURL模塊並重新配置我的虛擬機後,Symfony安裝得很好,安裝了包含defineDirectoryStructure()方法的最新版本的Sensio Distribution Bundle。

1

剛剛在Debian上有這個問題。對我來說,問題是sensio/distribution-bundle在其最新版本(v3.0.12,引入defineDirectoryStructure函數的那個​​版本)中需要cURL PHP擴展,它沒有安裝,所以它安裝了v3.0.11(它不包含所需的方法)。

安裝php5-curl後,Composer finaly安裝了最新版本的sensio/distribution-bundle,一切正常。

3

@hap絕對正確的在Debian/Ubuntu的

sudo apt-get install php5-curl 

是解決這個問題。我認爲在另一個平臺上php5-curl也會有所幫助。