Moved CakePHP 1.3.8 Установка образа Проблема - PullRequest
0 голосов
/ 15 мая 2018

Я пытаюсь переместить старую установку 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()
}

Весь код отлично работает на старом сервере, так что я думаю, что это какая-то проблема с путём конфигурации, но я просто не могу это понять.

Спасибо всем.

1 Ответ

0 голосов
/ 21 мая 2018

Я установил виртуальную машину Centos 6.9 с PHP 5.3.3, и проблема отсутствует. Должно быть изменение в PHP, как указано в ndm. Вместо того, чтобы пытаться выяснить, где код должен быть обновлен, мы переходим к Centos 6.9, так как этот сайт скоро будет удален.

Еще раз спасибо всем, кто откликнулся.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...