Я пытаюсь переместить старую установку CakePHP 1.3.8 между серверами и возникают проблемы с отображением определенных изображений.
Старый сервер:
Ubuntu 14.04.5 LTS
Apache 2.4.7
MySQL 5.5
PHP 5.5.9
PHP (GD, MYSQL)
Новый сервер:
Centos 7.5.1804
Apache 2.4.6
MySQL 5.4
PHP 5.4
PHP (GD, MYSQL)
Я убедился, что DocumentRoot указывает на каталог Cake / app / webroot, а также имеет директиву AllowOverride All в конфигурации сайтов. Также проверил (3) .htaccess файлы, mod_rewrite и т. Д.
Отладка установлена в '2' в core.php, но единственная зарегистрированная ошибка связана с функцией изображения:
imagejpeg() [<a href='http://php.net/function.imagejpeg'>function.imagejpeg</a>]: Filename cannot be empty
Примеры того, что происходит на каждой странице проекта-
Рабочая площадка
нерабочий участок
Все остальное, включая доступ к базе данных, работает. Я почти ничего не знаю о cakephp, но, просматривая различные файлы, мне кажется, что эта функция вызывается из файла detail.ctp в каталоге views / projects:
<?php echo $html->image('/App/ContentImageView/'.$image3.'/250/400',array('title'=>'Project Image', 'id'=>'MainImg', 'alt'=>'Project I mage', 'class'=>'border2')); ?>
И функция из app_controller.php
function ContentImageView($img_path, $w = '75', $h = '75'){
Configure::write('debug', 2);
debug($img_path, $showHTML = true, $showFrom = true);
if (empty($img_path)) return;
$image = str_replace('@@', '/', $img_path);
if (empty($image)) return;
$this->autoLayout = false;
$this->autoRender = false;
if(empty($image)) return;
//image resize parameters
$FileConfig = array();
$FileConfig['source_image'] = WWW_ROOT . '/'. $image;
$FileConfig['dynamic_output'] = true;
$FileConfig['maintain_ratio'] = true;
$FileConfig['width'] = $w;
$FileConfig['height'] = $h;
ini_set('memory_limit', -1)
$this->ImageLib->clear();
$this->ImageLib->set($FileConfig);
$this->ImageLib->resize()
}
Весь код отлично работает на старом сервере, так что я думаю, что это какая-то проблема с путём конфигурации, но я просто не могу это понять.
Спасибо всем.