A következő a problémám:
Kliens gépen működő drupal portált áttoltam egy fizetős szerverre. Az adatbázis behúzása után ugyan minden tartalmat megjelenít a rendszer, és az oldal linkjei is mind elérhetőek, de a login modul nem működik (nem tudok belépni a létrehozott felhasználók egyikével sem).
A kiszolgálón Apache2, PHP 4.3.10-es verzió fut. A php.ini-hez és az apache config fájlhoz természetesen nincs jogom hozzáférni, így valamilyen htaccess-es megoldás kellene a problémámra.
A .htaccess fájl tartalma jelenleg a következőképp fest:
#
# Apache/PHP/site settings:
#
# Protect files and directories from prying eyes:
order deny,allow
deny from all
# Set some options
Options -Indexes
Options +FollowSymLinks
# Customized server error messages:
ErrorDocument 404 /index.php
# Set the default handler to index.php:
DirectoryIndex index.php
# Overload PHP variables:
#
# If you are using Apache 2, you have to use
# instead of .
php_value register_globals 0
php_value track_vars 1
php_value short_open_tag 1
php_value magic_quotes_gpc 0
php_value magic_quotes_runtime 0
php_value magic_quotes_sybase 0
php_value arg_separator.output "&"
php_value session.cache_expire 200000
php_value session.gc_maxlifetime 200000
php_value session.cookie_lifetime 2000000
php_value session.auto_start 0
php_value session.save_handler user
php_value session.cache_limiter none
php_value allow_call_time_pass_reference On
# Various rewrite rules
#
RewriteEngine on
# Modify the RewriteBase if you are using Drupal in a subdirectory and the
# rewrite rules are not working properly:
RewriteBase /drupal
# Rewrite old-style URLS of the form 'node.php?id=x':
#RewriteCond %{REQUEST_FILENAME} !-f
#RewriteCond %{REQUEST_FILENAME} !-d
#RewriteCond %{QUERY_STRING} ^id=([^&]+)$
#RewriteRule node.php index.php?q=node/view/%1 [L]
# Rewrite old-style URLs of the form 'module.php?mod=x':
#RewriteCond %{REQUEST_FILENAME} !-f
#RewriteCond %{REQUEST_FILENAME} !-d
#RewriteCond %{QUERY_STRING} ^mod=([^&]+)$
#RewriteRule module.php index.php?q=%1 [L]
# Rewrite URLs of the form 'index.php?q=x':
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
#
# $Id: .htaccess,v 1.58 2004/10/09 20:41:49 dries Exp $
Hoppá
Hát ez a .htaccess beillesztés nem az igazi, sebaj, azért remélem értelmezhető. Természetesen az sapi_apache2.c-lett beállítva az Overload PHP variables: nél.
Felmerült bennem valami
Talán a cookie - session fronton lehet valami galiba?
Íme egy phpinfo()-s lekérdezésből kiszedett részlet:
ugye nem Drupal phpinfo()?
Ez ugye nem a Drupalból kért PHP infó? Mert ha igen, akkor nem csoda, hogy nem működik, a Drupal ugyanis adatbázisban tárolja a munkameneteket, itt meg fájl tárolást látunk a lokális érték oszlopában is...
Igen, a drupalos phpinfoval lett lekérve
Kliens gépen ugyanez a beállítás működik, így nem igazán értem a problémát. Miért nem okoz akkor ott is gondot?
Ugyebár erről beszélgetünk: session.save_handler files files
.htaccess
Ahhoz, hogy a .htaccess-t értelmezze a szerver, szükség van arra, hogy az Apache-ban ez engedélyezve legyen. Úgy tűnik neked nincs. Kérd meg a szolgáltatót!
.htaccess - teszek egy próbát
Oké, megpróbálom.
Egyenlőre köszönöm.
Megoldódott
Köszönöm a tanácsot, megoldódott a probléma.
A következőket produkálja a rendszer:
erre a php parancsra:
így reagált a szerver:
Warning: ini_set(): A session is active. You cannot change the session module's ini settings at this time. in /home/www/www.sallala.hu/XsJ2ZwJ901wh/includes/conf.php on line 50
Ugyanakkor erre:
Nem adott ki hibaüzenetet, tehát bevette szépen.
Akkor lehet mégis ez a baja?
Segítség plííííííízz!!
nono
Kérem ne tessék már mindent összevissza beküldeni, még többször is (a másik beküldést töröltem). Hát persze hogy nem tudja megváltoztatni a session kezelőt, mert az auto start miatt elindul. A .htaccess a Drupalban kikapcsolja az autostartot. Ha ez menne, akkor a többi .htaccess beállítás is menne, és nem lenne gond...
Más elképzelés?
Esetleg egyéb ötlet, hogy miért nem szuperál?