Php 为什么';artisan是否在编写器更新上工作并且不返回错误消息?

Php 为什么';artisan是否在编写器更新上工作并且不返回错误消息?,php,git,laravel-4,composer-php,Php,Git,Laravel 4,Composer Php,我和拉威尔有过上百次的问题。我最近将Laravel3网站升级为Laravel4,并将整个项目保存到Github上的存储库中。由于我经常在不小心编辑错误文件夹中的文件时遇到问题,我只是在我的工作目录中创建了本地git存储库,所以我只需要处理一个目录 在我尝试安装一些laravel软件包之前,一切都很好,我以前已经能够安装这些软件包了。每当我运行composer update时,我的所有artisan脚本都会返回一个错误。即使在我确定使用了development PHP.ini文件之后,错误消息本身

我和拉威尔有过上百次的问题。我最近将Laravel3网站升级为Laravel4,并将整个项目保存到Github上的存储库中。由于我经常在不小心编辑错误文件夹中的文件时遇到问题,我只是在我的工作目录中创建了本地git存储库,所以我只需要处理一个目录

在我尝试安装一些laravel软件包之前,一切都很好,我以前已经能够安装这些软件包了。每当我运行composer update时,我的所有artisan脚本都会返回一个错误。即使在我确定使用了development PHP.ini文件之后,错误消息本身(可能是PHP错误)也不会显示

fatal: No names found, cannot describe anything.
* master [KEY REMOVED] Remove mPDF Library
Script php artisan clear-compiled handling the pre-update-cmd event returned with an error

Status for device CON:
----------------------
    Lines:          300
    Columns:        80
    Keyboard rate:  31
    Keyboard delay: 1
    Code page:      437

Status for device CON:
----------------------
    Lines:          300
    Columns:        80
    Keyboard rate:  31
    Keyboard delay: 1
    Code page:      437

  [RuntimeException]  
  Error Output:       

update [--prefer-source] [--prefer-dist] [--dry-run] [--dev] [--no-dev] [--lock] [--no-plugins] [--no-custom-installers] [--no-scripts] [--no-progress] [--with-dependencies] [-v|vv|vvv|--verbose] [-o|--optimize-autoloader] [packages1] ... [packagesN]
这是我的composer.json(我读到的一个建议是将“php artisan clear compiled”放在“pre-update cmd”中):

我注意到的另一件奇怪的事情是:

fatal: No names found, cannot describe anything.
* master [KEY REMOVED] Remove mPDF Library
这是引用我的git repo中的最新提交。为什么会提到这一点?我认为这可能是问题的一部分,直到我意识到即使是在全新的安装上也会出现问题

是的,我已尝试删除脚本或运行--没有脚本。不过,我认为这就是我的问题开始的地方,因为即使我确实运行--没有脚本,我也会出现以下错误:

Fatal error: Class 'Patchwork\Utf8\Bootup' not found in [ROOT PATH REMOVED]/bootstrap/autoload.php on line 46
我读到一些文件可能在我升级到4.1时丢失了。所以我填写了所有丢失的文件,得到了一张空白的白页

根据我所读的内容,全新安装的laravel应该能够运行artisan,或者至少在运行
composer安装之后。我甚至不能让它在全新的安装上工作。因此,我将xampp安装更新为最新版本

我还读到有一种方法可以检查是否安装了mcrypt:
php-I | grep“mcrypt支持”
它指出,如果没有返回任何内容,mcrypt就没有安装,但它肯定返回了一些内容

mcrypt

mcrypt support => enabled
mcrypt support => enabledmcrypt_filter support => 
enabled
Version => 2.5.8
Api No => 20021217
Supported ciphers => cast-128 gost rijndael-128 twofish cast-256 loki97 rijndael-192 saferplus wake blowfish-compat des rijndael-256 serpent xtea blowfish enigma rc2 tripledes arcfour 
Supported modes => cbc cfb ctr ecb ncfb nofb ofb stream 

Directive => Local Value => Master Value
mcrypt.algorithms_dir => no value => no value
mcrypt.modes_dir => no value => no value
composer update没有返回错误,artisan不工作,当我使用--没有脚本时它不工作,并且在我使用--没有脚本后仍然不编译。。。PHP也不会返回任何错误或记录任何错误。我不知道还能做什么。我已经尝试了我能想到的一切,以及我能在网上找到的一切。我只想安装一个简单的软件包,而不是陷入如此混乱的境地

在这个问题得到解决之前,我很犹豫是否继续进行这个项目,但我必须使用我仍在使用的laravel版本重新开始工作(谢天谢地,我有/vendor文件的备份副本;它们没有添加到我的github repo中)

但是,如果能在这方面提供任何帮助,我将不胜感激,因为我确实需要使用这些软件包,而且我知道如果我再次尝试更新,我将在将来遇到问题

编辑:值得注意的是,我看到的关于各种问题的一个常见答案是删除bootstrap/compiled.php。好吧,不管发生什么,我从来没有见过生成的文件,更不用说能够删除它了


我甚至试着手动运行artisan命令(返回一个空白结果),但文件从未生成。

要找到答案几乎是不可能的。经过广泛的测试,我仍然发现自己离答案不远了。我甚至不知道这是否是正确答案,但我终于让artisan正常运行了。这就是我所做的

首先,我使用composer安装了Laravel(4.1)的新副本:

composer create-project laravel/laravel --prefer-dist
使用此composer文件(基本上与上面相同,没有软件包要求):

和运行:

composer update --no-scripts
其次是:

composer update
当我上传它时,它不再向我抛出错误

不幸的是,我根本无法让任何软件包工作。我认为这是最新版本的Laravel中的一个bug,非常烦人。我高度怀疑4.1中的每一个包都有问题,尽管这可能是问题所在:

另一种可能也是先运行composer安装:

composer install --no-scripts
“--no scripts”是可选的,如果不能正常安装,则不需要脚本。有一次,我删除了我的供应商文件夹并运行了composer安装,但无论如何我都搞不清楚


不管是什么情况,我都不能使用添加到app/libraries文件夹中的库(我注意到默认情况下不存在库),也不能使用任何composer软件包。我真的不知道如何才能让我的PDF脚本现在工作。。。或者至少在Laravel解决这些问题之前。

运行
composer update——没有脚本为我解决它。我拥有的一个软件包正在运行artisan脚本,如果我删除该软件包,该脚本将失败
composer update
composer install --no-scripts