Задать вопрос
Fanamura
@Fanamura
Php-программист, Laravel

Kohana + nginx. Скрипт не находит вызываемые классы?

Есть отлаженный проект на php, на локали и обычном хостинге работает. Был заведен инстанс на digital ocean (ubuntu 14.04 + php-fpm 5.5.9 + nginx

Настраивалось по: help.ubuntu.ru/wiki/nginx-phpfpm

Мой конфиг
server
{
	listen 80;
	server_name 	XXXX;
	root			/var/www/XXXX;
	index			index.php index.html index.htm;
	client_max_body_size		200m;	# увеличение максимального объема файла для загрузки до 200МБ
	# Buffers
	fastcgi_buffers 64 4K;

	# include common/upstream;
	include common/security;
	include common/gzip;

	location / { 
		if (!-e $request_filename) { rewrite ^(.*)$ /index.php; } 
		proxy_set_header X-Real-IP $remote_addr;
		proxy_set_header X-Forwarded-for $remote_addr;
		proxy_set_header Host $host;
	}

	# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        location ~ \.php$ {
        		include fastcgi_params;
        		root /var/www/XXXX;
        		index		index.php;
                try_files $uri =404;
                fastcgi_pass unix:/var/run/php5-fpm.sock;
                fastcgi_index index.php;
                fastcgi_split_path_info			^(.+?\.php)(/.*)?$;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                fastcgi_param	PATH_TRANSLATED		$document_root$fastcgi_script_name;
                fastcgi_param	SERVER_ADMIN		robot@martds.ru;
				fastcgi_param	SERVER_SIGNATURE	nginx/$nginx_version;
				set		$path_info		$fastcgi_path_info;
				fastcgi_param	PATH_INFO		$path_info;

        }

	location ~* \.(jpg|jpeg|gif|png|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|tar|wav|bmp|rtf|swf|ico|flv|txt|xml|docx|xlsx)$ {
		root /var/www/XXXX;
		index index.html index.php;
		access_log off;
		expires 30d;
	}

	location ~* ^/(?:modules|system)\b.* {
        	#rewrite ^(.+)$ /index.php$1 permanent;
    	}

	location ~ /\.ht {
		deny all;
	}
}


В error.log сервера:
2015/10/18 21:27:18 [error] 3293#0: *1 FastCGI sent in stderr: "PHP message: PHP Fatal error:  Class 'Rocket_Model_Apps' not found in /var/www/martds.ru/modules/rocket3/classes/Rocket/Helper.php on line 24" while reading response header from upstream, client: 46.8.132.98, server: martds.ru, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "188.166.65.233"


Стектрейс примерно такой:
MODPATH/rocket3/init.php [104]
Cache::$default = Rocket_Helper::config('main', 'cache', 'file');

MODPATH/rocket3/classes/Rocket/Helper.php [ 24 ]
$Model_Apps = new Rocket_Model_Apps();
Здесь класс и не может быть найден

===
Менял конфиг nginx на точно работающий на другом проекте (только там ubuntu 12.04), результат тот же
  • Вопрос задан
  • 628 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
Fanamura
@Fanamura Автор вопроса
Php-программист, Laravel
Проблема решена.
На Digital Ocean на Ubuntu 14.04 + php 5.5.9 в php.ini стоит:
php_short_tag = 0;
Нужно поменять на
php_short_tag = 1;
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
skobkin
@skobkin
Гентушник, разработчик на PHP и Symfony.
Я, конечно, понятия не имею, как там Kohana работает, но у вас там ругань связанная с кешем же. Не пробовали почистить кеш и заодно проверить доступ к его директории?
Вполне возможно, что генерируется аналог карты классов Composer, но пути-то в ней ещё с локалхоста сохранились.
Ответ написан
@LeMaX
Какая версия коханы?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы