IIS + PHP 4 Sessions funktionieren nicht

luchs3

Erfahrenes Mitglied
Hi Leute,

Ich hab auf meinem IIS PHP4 installiert leider funktionieren die Sessions nicht.
Wenn ich eine Variable übergeben will speichert er sie zwar in dem Ordner, den ich ihm angegeben hab, aber anscheinend kann er sie nicht auslesen, da ich sie mir anzeigen lassen wollte, er baer nichts anzeigt.

Mit PHP5 funktionierts, aber das kann ich nicht verwenden, da bei dem die MYSQL- Unterstützung nicht geht.

Bitte um Hilfe
Gruß Niko

PS: hab die php.ini-recommended installiert
 
Was soll denn "MYSQL- Unterstützung nicht geht" bedeuten? ich habe bei mir auch PHP 5 drauf mit MYSQL. Geht wunderbar!
 
Hallo

php5 besitzt im Gegensatz zum php4 keine einkompilierte Unterstützung von mySQL. Man muss es in der ini einfach anpassen.

bsp.
http://www.intermitto.net/mysql/php/neu/

Bei mir läuft php 4 und auch 5 auf dem IIS. Die 4er Version auf win2000 prof mit mySQL 4.0xxx, die 5er Version auf xp prof mit Anbindung von mySQL 4.1.

Ich habe zwar des öfteren Probs mit den php-Sessions gehabt, aber das lag letzendlich meist immer am Scripting. :eek:

Ich habe nur manchmal festgestellt, dass die Erzeugung der Session und dann eine direkte Weiterleitung auf eine andere Seite manchmal nicht funktionierte.
 
Zuletzt bearbeitet:
Wenn ich mich recht erinnere basiert die einkompilierte MySQL-Unterstuetzung auf MySQL 3 und funktioniert mein ich bis 4.0. 4.1 funktioniert aber, meiner schwachen Erinnerung nach, nicht. MySQL 5 schon garnicht.

Diese Aussage betreffen jetzt aber Linux, zu Windows kann ich da nicht viel sagen da ich da nur wenig getestet hab. Ich weiss nur, dass ich unter Windows dann auf MySQL 3 umgestiegen bin weil MySQL 4.1 nicht wollte. Aber mit welchem Release von PHP5 das war weiss ich nicht mehr.
 
Ich kann euch nur sagen, dass es nicht gscheit funktioniert. Hab das Thema in diesem Forum schon 2 Seiten lang verwurschtet. Aber egal, das hilft mir leider bei meinen Sessions nicht weiter.
 
Hi,

Ich arbeite seit ca. 2 Monaten mit PHP 5 und MySQL 5 auf einer Windows-Kiste... Hatte anfangs auch Probleme, da die mitgelieferten PHP Libraries nicht 100% kompatibel mit der MySQL DB waren..

Ich hab anschließend einfach die mySQLlib.dll und die extended Variante (glaub mysqlilib.dll) direkt vom MySQL Server verwendet, dann ging alles problemlos... Die DLLs findest Du für gewöhnlich im MySQL Installationspfad...

Ciao,
Mike
 
Das klingt aber interresant, hab mich wiedermal dazu durchgerungen, PHP5 zu installieren. Fazit ist, die Sessions funktionieren, aber MYSQL wieder mal nicht. Mit der php.in-recommendet funktioniert absolut nichts. Mit der php.ini-dist gehts gut, aber irgendwie kann er keine extensions laden. Hab die MYSQL extesion aktivier, aber da krepiert er mir immer -> das ganze php nicht mehr
 
luchs3 hat gesagt.:
Ich kann euch nur sagen, dass es nicht gscheit funktioniert. Hab das Thema in diesem Forum schon 2 Seiten lang verwurschtet. Aber egal, das hilft mir leider bei meinen Sessions nicht weiter.
Vielleicht solltest Du doch mal den Scriptteil des Problembereiches hier posten.
 
Ich hab da mal den betroffenen Teil der php.ini rauskopiert

Code:
 ; Paths and Directories ;
 ;;;;;;;;;;;;;;;;;;;;;;;;;
 
 ; UNIX: "/path1:/path2"
 ;include_path = ".:/php/includes"
 ;
 ; Windows: "\path1;\path2"
 ;include_path = ".;c:\php\includes"
 
 ; The root of the PHP pages, used only if nonempty.
 ; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root
 ; if you are running php as a CGI under any web server (other than IIS)
 ; see documentation for security issues.  The alternate is to use the
 ; cgi.force_redirect configuration below
 doc_root =
 
 ; The directory under which PHP opens the script using /~username used only
 ; if nonempty.
 user_dir =
 
 ; Directory in which the loadable extensions (modules) reside.
 extension_dir = "C:\PHP\ext"
 
 ; Whether or not to enable the dl() function.  The dl() function does NOT work
 ; properly in multithreaded servers, such as IIS or Zeus, and is automatically
 ; disabled on them.
 enable_dl = On
 
 ; cgi.force_redirect is necessary to provide security running PHP as a CGI under
 ; most web servers.  Left undefined, PHP turns this on by default.  You can
 ; turn it off here AT YOUR OWN RISK
 ; **You CAN safely turn this off for IIS, in fact, you MUST.**
 ; cgi.force_redirect = 1
 
 ; if cgi.nph is enabled it will force cgi to always sent Status: 200 with
 ; every request.
 ; cgi.nph = 1
 
 ; if cgi.force_redirect is turned on, and you are not running under Apache or Netscape
 ; (iPlanet) web servers, you MAY need to set an environment variable name that PHP
 ; will look for to know it is OK to continue execution.  Setting this variable MAY
 ; cause security issues, KNOW WHAT YOU ARE DOING FIRST.
 ; cgi.redirect_status_env = ;
 
 ; FastCGI under IIS (on WINNT based OS) supports the ability to impersonate
 ; security tokens of the calling client.  This allows IIS to define the
 ; security context that the request runs under.  mod_fastcgi under Apache
 ; does not currently support this feature (03/17/2002)
 ; Set to 1 if running under IIS.  Default is zero.
 ; fastcgi.impersonate = 1;
 
 ; Disable logging through FastCGI connection
 ; fastcgi.log = 0
 
 ; cgi.rfc2616_headers configuration option tells PHP what type of headers to
 ; use when sending HTTP response code. If it's set 0 PHP sends Status: header that
 ; is supported by Apache. When this option is set to 1 PHP will send
 ; RFC2616 compliant header.
 ; Default is zero.
 ;cgi.rfc2616_headers = 0
 
 
 ;;;;;;;;;;;;;;;;
 ; File Uploads ;
 ;;;;;;;;;;;;;;;;
 
 ; Whether to allow HTTP file uploads.
 file_uploads = On
 
 ; Temporary directory for HTTP uploaded files (will use system default if not
 ; specified).
 ;upload_tmp_dir =
 
 ; Maximum allowed size for uploaded files.
 upload_max_filesize = 2M
 
 
 ;;;;;;;;;;;;;;;;;;
 ; Fopen wrappers ;
 ;;;;;;;;;;;;;;;;;;
 
 ; Whether to allow the treatment of URLs (like http:// or ftp://) as files.
 allow_url_fopen = On
 
 ; Define the anonymous ftp password (your email address)
 ;from="john@doe.com"
 
 ; Define the User-Agent string
 ; user_agent="PHP"
 
 ; Default timeout for socket based streams (seconds)
 default_socket_timeout = 60
 
 ; If your scripts have to deal with files from Macintosh systems,
 ; or you are running on a Mac and need to deal with files from
 ; unix or win32 systems, setting this flag will cause PHP to
 ; automatically detect the EOL character in those files so that
 ; fgets() and file() will work regardless of the source of the file.
 ; auto_detect_line_endings = Off
 
 
 ;;;;;;;;;;;;;;;;;;;;;;
 ; Dynamic Extensions ;
 ;;;;;;;;;;;;;;;;;;;;;;
 ;
 ; If you wish to have an extension loaded automatically, use the following
 ; syntax:
 ;
 ;   extension=modulename.extension
 ;
 ; For example, on Windows:
 ;
 ;   extension=msql.dll
 ;
 ; ... or under UNIX:
 ;
 ;   extension=msql.so
 ;
 ; Note that it should be the name of the module only; no directory information
 ; needs to go here.  Specify the location of the extension with the
 ; extension_dir directive above.
 
 
 ; Windows Extensions
 ; Note that ODBC support is built in, so no dll is needed for it.
 ; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5)
 ; extension folders as well as the separate PECL DLL download (PHP 5).
 ; Be sure to appropriately set the extension_dir directive.
 
 ;extension=php_mbstring.dll
 ;extension=php_bz2.dll
 ;extension=php_curl.dll
 ;extension=php_dba.dll
 ;extension=php_dbase.dll
 ;extension=php_exif.dll
 ;extension=php_fdf.dll
 ;extension=php_filepro.dll
 ;extension=php_gd2.dll
 ;extension=php_gettext.dll
 ;extension=php_ifx.dll
 ;extension=php_imap.dll
 ;extension=php_interbase.dll
 ;extension=php_ldap.dll
 ;extension=php_mcrypt.dll
 ;extension=php_mhash.dll
 ;extension=php_mime_magic.dll
 ;extension=php_ming.dll
 ;extension=php_mssql.dll
 ;extension=php_msql.dll
 extension=php_mysql.dll
 ;extension=php_oci8.dll
 ;extension=php_openssl.dll
 ;extension=php_oracle.dll
 ;extension=php_pgsql.dll
 ;extension=php_shmop.dll
 ;extension=php_snmp.dll
 ;extension=php_sockets.dll
 ;extension=php_sqlite.dll
 ;extension=php_sybase_ct.dll
 ;extension=php_tidy.dll
 ;extension=php_xmlrpc.dll
 ;extension=php_xsl.dll
 
 
 ;;;;;;;;;;;;;;;;;;;
 ; Module Settings ;
 ;;;;;;;;;;;;;;;;;;;
 
 [Date]
 ; Defines the default timezone used by the date functions
 ;date.timezone = 
 
 [Syslog]
 ; Whether or not to define the various syslog variables (e.g. $LOG_PID,
 ; $LOG_CRON, etc.).  Turning it off is a good idea performance-wise.  In
 ; runtime, you can define these variables by calling define_syslog_variables().
 define_syslog_variables  = Off
 
 [mail function]
 ; For Win32 only.
 SMTP = localhost
 smtp_port = 25
 
 ; For Win32 only.
 ;sendmail_from = me@example.com
 
 ; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
 ;sendmail_path =
 
 ; Force the addition of the specified parameters to be passed as extra parameters
 ; to the sendmail binary. These parameters will always replace the value of
 ; the 5th parameter to mail(), even in safe mode.
 ;mail.force_extra_parameters =
 
 [ sql]
 sql.safe_mode = Off
 
 [ODBC]
 ;odbc.default_db	=  Not yet implemented
 ;odbc.default_user  =  Not yet implemented
 ;odbc.default_pw	=  Not yet implemented
 
 ; Allow or prevent persistent links.
 odbc.allow_persistent = On
 
 ; Check that a connection is still valid before reuse.
 odbc.check_persistent = On
 
 ; Maximum number of persistent links.  -1 means no limit.
 odbc.max_persistent = -1
 
 ; Maximum number of links (persistent + non-persistent).  -1 means no limit.
 odbc.max_links = -1
 
 ; Handling of LONG fields.  Returns number of bytes to variables.  0 means
 ; passthru.
 odbc.defaultlrl = 4096
 
 ; Handling of binary data.  0 means passthru, 1 return as is, 2 convert to char.
 ; See the documentation on odbc_binmode and odbc_longreadlen for an explanation
 ; of uodbc.defaultlrl and uodbc.defaultbinmode
 odbc.defaultbinmode = 1
 
 [ MySQL]
 ; Allow or prevent persistent links.
 mysql.allow_persistent = On
 
 ; Maximum number of persistent links.  -1 means no limit.
 mysql.max_persistent = -1
 
 ; Maximum number of links (persistent + non-persistent).  -1 means no limit.
 mysql.max_links = -1
 
 ; Default port number for mysql_connect().  If unset, mysql_connect() will use
 ; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the
 ; compile-time value defined MYSQL_PORT (in that order).  Win32 will only look
 ; at MYSQL_PORT.
 mysql.default_port =
 
 ; Default socket name for local MySQL connects.  If empty, uses the built-in
 ; MySQL defaults.
 mysql.default_socket =
 
 ; Default host for mysql_connect() (doesn't apply in safe mode).
 mysql.default_host =
 
 ; Default user for mysql_connect() (doesn't apply in safe mode).
 mysql.default_user =
 
 ; Default password for mysql_connect() (doesn't apply in safe mode).
 ; Note that this is generally a *bad* idea to store passwords in this file.
 ; *Any* user with PHP access can run 'echo get_cfg_var("mysql.default_password")
 ; and reveal this password!  And of course, any users with read access to this
 ; file will be able to reveal the password as well.
 mysql.default_password =
 
 ; Maximum time (in secondes) for connect timeout. -1 means no limit
 mysql.connect_timeout = 60
 
 ; Trace mode. When trace_mode is active (=On), warnings for table/index scans and
 ; SQL-Errors will be displayed.
 mysql.trace_mode = Off
 
Zuletzt bearbeitet von einem Moderator:
Zurück