Łukasz Fiłyk

Łukasz Fiłyk Programista PHP

Temat: Problem z [SCRIPT_NAME] => /frontend_test.php

Mam dziwny problem, otóż zainstalowałem SF 1.4 na serwerze (pierwszy raz z takiego serwera korzystam) no i niestety jak odpalam app backend to mi sypie:

1..72 # ->getLanguages() not ok 1 - ->getLanguages() returns an empty array ................................................
# Looks like you failed 6 tests of 72.

Sprawdziłem:

echo '<pre>';
print_r ($_SERVER);
echo '</pre>';

require_once(dirname(__FILE__).'/../config/ProjectConfiguration.class.php');

$configuration = ProjectConfiguration::getApplicationConfiguration('backend', 'dev', true);
sfContext::createInstance($configuration)->dispatch();

echo '<pre>';
print_r ($_SERVER);
echo '</pre>';

I okazało się że po przejściu przez engine symfony zmieniły się:

[REQUEST_URI] => /frontend_test.php/test/klaus2?test
[PATH_INFO] => /test/klaus
[ORIG_SCRIPT_NAME] => /frontend_test2.php
[SCRIPT_NAME] => /frontend_test.php

Co można z tym zrobić?

Próbowałem zmienić w lib w klasie sfWebRequest.class.php

return isset($pathArray['SCRIPT_NAME']) ? $pathArray['SCRIPT_NAME'] : (isset($pathArray['ORIG_SCRIPT_NAME']) ? $pathArray['ORIG_SCRIPT_NAME'] : '');

na

return isset($pathArray['SCRIPT_NAME']) ? $pathArray['SCRIPT_NAME'] : '';

ale to nic daje

No i struktura serwera wymusza skierowanie domeny na katalog projektu wiec w .htacces ustawiłem:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(.*)$ /web/$1
</IfModule>

Frontend działa poprawnie, prod i devŁukasz Fiłyk edytował(a) ten post dnia 06.03.12 o godzinie 19:08