Witamy w tyranii PHP's error control operator. Gdzie przez tyranię mam na myśli małe rozdrażnienie w wielkim schemacie rzeczy.
Wszystkie te błędy konsoli są obsługiwane przez wyjątki. Jeśli szukać źródła Magento Połącz w downloader
, znajdziesz tekst wyjątku
Failed to open file
jest używany tylko w trzech miejscach
$ ack 'Failed to open file'
lib/Mage/Archive/Helper/File/Bz.php
47: throw new Mage_Exception('Failed to open file ' . $this->_filePath);
lib/Mage/Archive/Helper/File/Gz.php
44: throw new Mage_Exception('Failed to open file ' . $this->_filePath);
lib/Mage/Archive/Helper/File.php
190: throw new Mage_Exception('Failed to open file ' . $this->_filePath);
Jeśli spojrzeć na każdy z tych miejsc, zobaczysz podobny wzór
protected function _open($mode)
{
$this->_fileHandler = @bzopen($this->_filePath, $mode);
if (false === $this->_fileHandler) {
throw new Mage_Exception('Failed to open file ' . $this->_filePath);
}
}
protected function _open($mode)
{
$this->_fileHandler = @fopen($this->_filePath, $mode);
if (false === $this->_fileHandler) {
throw new Mage_Exception('Failed to open file ' . $this->_filePath);
}
}
protected function _open($mode)
{
$this->_fileHandler = @gzopen($this->_filePath, $mode);
if (false === $this->_fileHandler) {
throw new Mage_Exception('Failed to open file ' . $this->_filePath);
}
}
deweloperzy, którzy budowali Magento Połącz używane operatora @
tłumić prawdziwe błędy PHP, które emitują od gzopen
, fopen
i bzopen
.
Gdybym był w twojej sytuacji, tymczasowo edytowałbym te pliki, aby usunąć operatora @
z tych wywołań funkcji, a następnie sprawdź moje logi błędów/wynik wyjściowy przeglądarki, aby zobaczyć, dlaczego PHP nie chce otwierać tych plików.
jak to naprawić http://magento.stackexchange.com/questions/40125/connect-error-failed-to -open-file-on-extension-package-testing –