php installation on NT

OK, the php download has two files Win32 binary and source.  I run these thru WinZip and I get an exe file and dll files - running the exe file appears to do nothing, and I certainly don't have a php3.ini-dist file anywhere.  What am I doing wrong?
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

have u installed apache for win32 and perl for win32?
What web server are you running ?
robjayAuthor Commented:
I have installed apache, but not perl.
Cloud Class® Course: Ruby Fundamentals

This course will introduce you to Ruby, as well as teach you about classes, methods, variables, data structures, loops, enumerable methods, and finishing touches.

I recently downloaded the 3.0.13 version of php for windows... stragely enough, it didn't include the php3.ini-dist file either... I'm afraid that I'd try a different version.

As for web servers... call me naive, but whilst I've managed to get php running on apache quite easily on linux, I havn't managed to get apache and php working on windows... I'd recommend using Xitmai - . It's simple to set up and get working quickly, and I've certainly never had any problems with it... the only thing is that it doesn't support authentication via php... but unless this really is a big issue for you (I've only had to use it a couple of times... ever... that's in over a year and a half's use) it's really not worth the hassle.

You need to copy the php3.ini-dist file into your windows or windowsNT directory and rename
it to php3.ini.  

Be sure to edit this file to reflect the settings you need.

Make a directory, such as c:\php3, and place all the rest of the dlls there.

Otherwise, be sure to place php3.ini in your os directory
(typicaly c:\windows or c:\winnt).

You must edit your srm.conf or httpd.conf to configure Apache to work with the PHP CGI binary.
Although there can be a few variations of configuring PHP under Apache, this one is simple enough to
be used by the newcomer. Please consult the Apache Docs for further configuration directives.

• ScriptAlias /php3/ "c:/path-to-php-dir/"
• AddType application/x-httpd-php3 .php3
• AddType application/x-httpd-php3 .phtml
• Action application/x-httpd-php3 "/php3/php.exe"
It's my php3.ini

; About this file ;
; This file controls many aspects of PHP's behavior.  In order for PHP to
; read it, it must be named 'php3.ini'.  PHP looks for it in the current
; working directory, in the path designated by the environment variable
; PHPRC, and in the path that was defined in compile time (in that order).
; Under Windows, the compile-time path is the Windows directory.  The
; path in which the php3.ini file is looked for can be overriden using
; the -c argument in command line mode.
; The syntax of the file is extremely simple.  Whitespace and Lines
; beginning with a semicolon are silently ignored (as you probably guessed).
; Section headers (e.g. [Foo]) are also silently ignored, even though
; they might mean something in the future (they probably won't).
; Options are specified using the syntax key = value or key = "complex value".
; Key names are *case sensitive*.  foo = bar is different from FOO = bar.
; 'value' can be any number, word or keyword (keywords are On, Off, True,
; False, Yes and No, and are case insensitive).
; 'complex value' can be just about anything, expcept for " and a newline
; Boolean flags can be turned on using the values 1, On, True or Yes.
; They can be turned off using the values 0, Off, False or No.
; All the values in the php3.ini-dist file correspond to the builtin
; defaults (that is, if no php3.ini is used, or if you delete these lines,
; the builtin defaults will be identical).

; Language Options ;

engine                  =      On      ; enable PHP 3.0 parser
short_open_tag      =      On      ; allow the <? tag.  otherwise, only <?php and <script> tags are recognized.
asp_tags            =      Off ; allow ASP-style <% %> tags
precision            =      14      ; number of significant digits displayed in floating point numbers
y2k_compliance      =      Off      ; whether to be year 2000 compliant (will cause problems with non y2k compliant browsers)
; Safe Mode
safe_mode            =      Off
safe_mode_exec_dir      =
; Colors for Syntax Highlighting mode.  Anything that's acceptable in <font color=???> would work.
highlight.string      =      #DD0000
highlight.comment      =      #FF8000
highlight.keyword      =      #007700            =      #FFFFFF
highlight.default      =      #0000BB
highlight.html            =      #000000

; Resource Limits ;

max_execution_time = 30     ; Maximum execution time of each script, in seconds
memory_limit = 8388608            ; Maximum amount of memory a script may consume (8MB)

; Error handling and logging ;
; error_reporting is a bit-field.  Add each number up to get desired error reporting level
;  1 = Normal errors
;  2 = Normal warnings
;  4 = Parser errors
;  8 = Notices - warnings you can ignore, but sometimes imply a bug (e.g., using an uninitialized variable)
error_reporting      =      7
display_errors      =      On      ; Print out errors (as a part of the HTML script)
log_errors            =      Off      ; Log errors into a log file (server-specific log, stderr, or error_log (below))
track_errors      =      Off      ; Store the last error/warning message in $php_errormsg (boolean)
;error_prepend_string = "<font color=ff0000>"   ; string to output before an error message
;error_append_string = "</font>"                ; string to output after an error message
;error_log      =      filename      ; log errors to specified file
;error_log      =      syslog            ; log errors to syslog (Event Log on NT, not valid in Windows 95)
warn_plus_overloading      =      Off            ; warn if the + operator is used with strings

; Data Handling ;
magic_quotes_gpc      =      On            ; magic quotes for incoming GET/POST/Cookie data
magic_quotes_runtime=      Off            ; magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc.
magic_quotes_sybase      =      Off            ; Use Sybase-style magic quotes (escape ' with '' instead of \')
track_vars                  =      On            ; enable $HTTP_GET_VARS[], $HTTP_POST_VARS[] and $HTTP_COOKIE_VARS[] arrays
; automatically add files before or after any PHP 3.0 document
auto_prepend_file      =
auto_append_file      =

; Paths and Directories ;
include_path      =                   ; UNIX: "/path1:/path2"  Windows: "\path1;\path2"
doc_root            =                              ; the root of the php pages, used only if nonempty
user_dir            =                              ; the directory under which php opens the script using /~username, used only if nonempty
;upload_tmp_dir      =                      ; temporary directory for HTTP uploaded files (will use system default if not specified)
upload_max_filesize = 2097152       ; 2 Meg default limit on file uploads
extension_dir      =      ./                        ; directory in which the loadable extensions (modules) reside

; Dynamic Extensions ;
; if you wish to have an extension loaded automaticly, use the
; following syntax:  extension=modulename.extension
; for example, on windows,
; extension=msql.dll
; or under UNIX,

;Windows Extensions

; Module Settings ;

define_syslog_variables      = Off      ; 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()

[mail function]
SMTP                  =      localhost                  ;for win32 only
sendmail_from      =      ;for win32 only
sendmail_path      =                                    ;for unix only, may supply arguments as well (default is sendmail -t)

[Debugger]      =      localhost
debugger.port      =      7869
debugger.enabled      =      True

; These configuration directives are used by the example logging mechanism.
; See examples/README.logging for more explanation.
;logging.method    = db
; = /path/to/log/directory

sql.safe_mode      =      Off

;uodbc.default_db            =      Not yet implemented
;uodbc.default_user            =      Not yet implemented
;uodbc.default_pw            =      Not yet implemented
uodbc.allow_persistent      =      On      ; allow or prevent persistent links
uodbc.max_persistent      =      -1      ; maximum number of persistent links. -1 means no limit
uodbc.max_links                  =      -1      ; maximum number of links (persistent+non persistent). -1 means no limit
uodbc.defaultlrl      =      4096      ; Handling of LONG fields. Returns number of bytes to variables, 0 means passthru
uodbc.defaultbinmode      =       1      ; 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

mysql.allow_persistent      =      On      ; allow or prevent persistent link
mysql.max_persistent      =      -1      ; maximum number of persistent links. -1 means no limit
mysql.max_links                  =      -1      ; maximum number of links (persistent+non persistent).  -1 means no limit
mysql.default_port            =            ; 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 defined MYSQL_PORT
                                                ; (in that order).  Win32 will only look at MYSQL_PORT.
mysql.default_host            =            ; default host for mysql_connect() (doesn't apply in safe mode)
mysql.default_user            =            ; default user for mysql_connect() (doesn't apply in safe mode)
mysql.default_password      =            ; 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 cfg_get_var("mysql.default_password")' and reveal that
                                                ; password!  And of course, any users with read access to this
                                                ; file will be able to reveal the password as well.

msql.allow_persistent      =      On      ; allow or prevent persistent link
msql.max_persistent            =      -1      ; maximum number of persistent links. -1 means no limit
msql.max_links                  =      -1      ; maximum number of links (persistent+non persistent).  -1 means no limit

pgsql.allow_persistent      =      On      ; allow or prevent persistent link
pgsql.max_persistent      =      -1      ; maximum number of persistent links. -1 means no limit
pgsql.max_links                  =      -1      ; maximum number of links (persistent+non persistent).  -1 means no limit

sybase.allow_persistent      =      On      ; allow or prevent persistent link
sybase.max_persistent      =      -1      ; maximum number of persistent links. -1 means no limit
sybase.max_links            =      -1      ; maximum number of links (persistent+non persistent).  -1 means no limit
;sybase.interface_file      =      "/usr/sybase/interfaces"
sybase.min_error_severity      =      10      ; minimum error severity to display
sybase.min_message_severity      =      10      ; minimum message severity to display
sybase.compatability_mode      = Off      ; compatability mode with earlier versions of PHP 3.0.
                                                      ; If on, this will cause PHP to automatically assign types to results
                                                      ; according to their Sybase type, instead of treating them all as
                                                      ; strings.  This compatability mode will probably not stay around
                                                      ; forever, so try applying whatever necessary changes to your code,
                                                      ; and turn it off.

sybct.allow_persistent      =      On            ; allow or prevent persistent link
sybct.max_persistent      =      -1            ; maximum number of persistent links. -1 means no limit
sybct.max_links                  =      -1            ; maximum number of links (persistent+non persistent).  -1 means no limit
sybct.min_server_severity      =      10      ; minimum server message severity to display
sybct.min_client_severity      =      10      ; minimum client message severity to display

bcmath.scale      =      0      ; number of decimal digits for all bcmath functions

;browscap      =      extra/browscap.ini

ifx.default_host            =            ; default host for ifx_connect() (doesn't apply in safe mode)
ifx.default_user            =            ; default user for ifx_connect() (doesn't apply in safe mode)
ifx.default_password            =            ; default password for ifx_connect() (doesn't apply in safe mode)
ifx.allow_persistent            =      On      ; allow or prevent persistent link
ifx.max_persistent            =      -1      ; maximum number of persistent links. -1 means no limit
ifx.max_links                  =      -1      ; maximum number of links (persistent+non persistent).  -1 means no limit
ifx.textasvarchar            =      0      ; if set on, select statements return the contents of a text blob instead of it's id
ifx.byteasvarchar            =      0      ; if set on, select statements return the contents of a byte blob instead of it's id
ifx.charasvarchar            =      0      ; trailing blanks are stripped from fixed-length char columns. May help the life
                                    ; of Informix SE users.
ifx.blobinfile                  =      0      ; if set on, the contents of text&byte blobs are dumped to a file instead of
                                    ; keeping them in memory
ifx.nullformat                  =      0      ; NULL's are returned as empty strings, unless this is set to 1. In that case,
                                    ; NULL's are returned as string 'NULL'.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
robjayAuthor Commented:
Catoc, have you been successful getting php to work with Apache on windows?
robjayAuthor Commented:
I found out that the new Win32 distribution at omitted the php3.ini.  Thanks catoc for sending.  If you have any links to existing code that I could experiment with , I would appreciate it.
Upgrade to php 4 beta 3, it is smaller, only 3 dlls, and runs better, as far as I can tell.
Please wait me to test it!
Maybe 1.8.2000
robjayAuthor Commented:
Thanks for the help - php successful on Windows NT.  Now, to get the Sybase ODBC up and running.

Jasmoft - I appreciate the beta tip - sounds good.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.