Php.ini problem?

I am just learning PHP. On my XP home ed. I installed Apache httpd-2.217-win32-x86_nossl.msi and php 5.2.17-win32-x86.msi
· The typical ‘Hello World!’ and beginner files worked ok. Next I tried a simple form and script (posted here following these comments).
· I’ve tried dozens of different ways to get this to work. This example yields a “welcome” when the submit button is clicked but my string is lost.( in Firefox and it outputs the whole text file in Explorer8 after asking for permission to download it.
· My suspicion is that I need to enable or disable some php option in the php.ini file. Interestingly, I have no php.ini-dist file included with the download.
· I don’t know what else to do, so I hope somebody ‘out there’ has some suggestions. It is difficult to learn when your successes are no different looking than your mistakes!
· Thank you for your time!

· The following is in my php.ini file:
; About this file ;
; This is the recommended, PHP 5-style version of the php.ini-dist file. It
; sets some non standard settings, that make PHP more efficient, more secure,
; and encourage cleaner coding.
; The price is that with these settings, PHP may be incompatible with some
; applications, and sometimes, more difficult to develop with. Using this
; file is warmly recommended for production sites. As all of the changes from
; the standard settings are thoroughly documented, you can go over each one,
; and decide whether you want to use it or not.
; For general information about the php.ini file, please consult the php.ini-dist
; file, included in your PHP distribution.
; This file is different from the php.ini-dist file in the fact that it features
; different values for several directives, in order to improve performance, while
; possibly breaking compatibility with the standard out-of-the-box behavior of
; PHP. Please make sure you read what’s different, and modify your scripts
; accordingly, if you decide to use this file instead.

(My Welcome.html document)

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN””>
<html xmlns=“” xml:lang=“en” lang=“en”>
<meta http-equiv=“content-type” content=“text/html; charset=UTF-8”/>

  <form action="welcome.php" method="post">
   <label for="firstname">First Name:
   <input type="text" name="firstname" id="firstname" />
   <input type="submit" value="GO" />


(My Welcome.php document)

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN””>
<html xmlns=“” xml:lang=“en” lang=“en”>
<meta http-equiv=“content-type” content=“text/html; charset=UTF-8” />



   "firstname" = $_POST["firstname"];
   echo $_POST["firstname"];


Your php file has syntax errors - they won’t be reported unless you enable error reporting (through php.ini or you can do it locally too):

Put this at the top of your php script:


try this, though im not sure that this is what your asking for or if it will help at all, but try changing the php file to this

$firstName = $_POST['firstname'];
echo "$firstName"; 

I did what you suggested, and tried variants like adding a semicolon and
| E_STRICT, but detected no change. Where do errors show up?

This from the phpinfo?:
Configuration File (php.ini) Path C:\WINDOWS
Loaded Configuration File (none)
Scan this dir for additional .ini files (none)
additional .ini files parsed (none)
Is this normal?

My PHP configuration Core Table (from phpinfo?) reports:
display_errors On On
display_startup_errors Off Off

There is this line in php.ini:
; - error_reporting = E_ALL [Code Cleanliness, Security(?)]
Question: Does the preceding semicolon disable the following line?

Thanks for your help, I am still frustrated!

I missed your post, but have now tried it to no avail. I think I need to enable something but I’m so new to php that I can’t spot it! I am tempted to delete it and try a different version, but it seems this one should work.
Thanks for thinking about it!

Beedo, im sorry but ive never actually installed php onto my computer myself as i read it was quite toublesome, so im not exactly sure if i can help you but if i were you id try and find a php.ini sample on the internet i found on at this website

hope this helps

In php.ini files when a line is preceeded by a ; then it is “commented out”. If you make any changes to a php.ini file on a server, you need to restart the server for whatever the changes were to take effect.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
<html xmlns="" xml:lang="en" lang="en">
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />



   $firstname = $_POST["firstname"];
   echo $_POST["firstname"];



ini_set('display_errors', 1);

at the start of a php script (after the <?php ) will cause errors to be displayed.

ini_set('error_reporting', -1);

is used to set the error reporting level level to report all errors.

No change, but I could kick myself for all the times I’ve tried things without restarting the server!
Next I think I will try to find a good php.ini sample as maxdream01 suggested and look for differences.
I get the ‘Welcome’ so the page is found and served, but the php script is not running. So I tried this:

      ini_set('display_errors', 1);
      echo <p>Hello World</p>; 


      ini_set('display_errors', 1); 
      $firstname = $_POST["firstname"];
      echo $_POST["firstname"];


And the result in firefox :

Hello World

; ?>


so my conclusion is that the php is present but crippled somehow… no errors reported as far as I know.

$firstname = $_POST['firstname'];
echo $firstname;

:blush:sorry, copied and pasted it wrong

Pasting that last snippet in and restarting Apache resulted in no change. All I get is the html “Welcome”. I don’t know where PHP errors are displayed. In the Apache error log for this activity I found:

httpd.exe: Could not reliably determine the server’s fully qualified domain name, using for ServerName
[Mon May 16 10:35:31 2011] [notice] Child 896: All worker threads have exited.
[Mon May 16 10:35:31 2011] [notice] Child 896: Child process is exiting
[Mon May 16 10:35:31 2011] [notice] Child 3308: Child process is running
[Mon May 16 10:35:31 2011] [notice] Child 3308: Acquired the start mutex.
[Mon May 16 10:35:31 2011] [notice] Child 3308: Starting 64 worker threads.
[Mon May 16 10:35:31 2011] [notice] Child 3308: Starting thread to listen on port 80

I don’t know what that means, but it doesn’t seem relevant.
Back to looking at the php.ini…
Thank You for helping…

It looks to me like php is either not running at all or not set to parse .php files (which is strange). Create a new file named “test.php”, containing this:


and post the resulting page here (link or copy/paste)

I am glad people are willing to help me figure this out! So, aamonkey here it is (I removed 2 instances of my email address and made it obvious I have done so):

PHP Logo
PHP Version 5.2.17

System Windows NT BABYPARSNIP 5.1 build 2600
Build Date Jan 6 2011 17:26:08
Configure Command cscript /nologo configure.js “–enable-snapshot-build” “–enable-debug-pack” “–with-snapshot-template=d:\php-sdk\snap_5_2\vc6\x86\ emplate” “–with-php-build=d:\php-sdk\snap_5_2\vc6\x86\php_build” “–with-pdo-oci=D:\php-sdk\oracle\instantclient10\sdk,shared” “–with-oci8=D:\php-sdk\oracle\instantclient10\sdk,shared” “–without-pi3web”
Server API Apache 2.0 Handler
Virtual Directory Support enabled
Configuration File (php.ini) Path C:\WINDOWS
Loaded Configuration File (none)
Scan this dir for additional .ini files (none)
additional .ini files parsed (none)
PHP API 20041225
PHP Extension 20060613
Zend Extension 220060519
Debug Build no
Thread Safety enabled
Zend Memory Manager enabled
IPv6 Support enabled
Registered PHP Streams php, file, data, http, ftp, compress.zlib
Registered Stream Socket Transports tcp, udp
Registered Stream Filters convert.iconv., string.rot13, string.toupper, string.tolower, string.strip_tags, convert., consumed, zlib.*

Zend logo This program makes use of the Zend Scripting Language Engine:
Zend Engine v2.2.0, Copyright (c) 1998-2010 Zend Technologies

PHP Credits
PHP Core
Directive Local Value Master Value
allow_call_time_pass_reference On On
allow_url_fopen On On
allow_url_include Off Off
always_populate_raw_post_data Off Off
arg_separator.input & &
arg_separator.output & &
asp_tags Off Off
auto_append_file no value no value
auto_globals_jit On On
auto_prepend_file no value no value
browscap no value no value
default_charset no value no value
default_mimetype text/html text/html
define_syslog_variables Off Off
disable_classes no value no value
disable_functions no value no value
display_errors On On
display_startup_errors Off Off
doc_root no value no value
docref_ext no value no value
docref_root no value no value
enable_dl On On
error_append_string no value no value
error_log no value no value
error_prepend_string no value no value
error_reporting no value no value
expose_php On On
extension_dir C:\php5 C:\php5
file_uploads On On #FFFFFF #FFFFFF
highlight.comment #FF8000 #FF8000
highlight.default #0000BB #0000BB
highlight.html #000000 #000000
highlight.keyword #007700 #007700
highlight.string #DD0000 #DD0000
html_errors On On
ignore_repeated_errors Off Off
ignore_repeated_source Off Off
ignore_user_abort Off Off
implicit_flush Off Off
include_path .;C:\php5\pear .;C:\php5\pear
log_errors Off Off
log_errors_max_len 1024 1024
magic_quotes_gpc On On
magic_quotes_runtime Off Off
magic_quotes_sybase Off Off
mail.force_extra_parameters no value no value
max_execution_time 30 30
max_file_uploads 20 20
max_input_nesting_level 64 64
max_input_time -1 -1
memory_limit 128M 128M
open_basedir no value no value
output_buffering 0 0
output_handler no value no value
post_max_size 8M 8M
precision 14 14
realpath_cache_size 16K 16K
realpath_cache_ttl 120 120
register_argc_argv On On
register_globals Off Off
register_long_arrays On On
report_memleaks On On
report_zend_debug On On
safe_mode Off Off
safe_mode_exec_dir no value no value
safe_mode_gid Off Off
safe_mode_include_dir no value no value
sendmail_from no value no value
sendmail_path no value no value
serialize_precision 100 100
short_open_tag On On
SMTP localhost localhost
smtp_port 25 25
sql.safe_mode Off Off
track_errors Off Off
unserialize_callback_func no value no value
upload_max_filesize 2M 2M
upload_tmp_dir no value no value
user_dir no value no value
variables_order EGPCS EGPCS
xmlrpc_error_number 0 0
xmlrpc_errors Off Off
y2k_compliance On On
zend.ze1_compatibility_mode Off Off

Apache Version Apache/2.2.17 (Win32) PHP/5.2.17
Apache API Version 20051115
Server Administrator my_email_address_is_here(but I didn’t want it posted for eternity)
Max Requests Per Child: 0 - Keep Alive: on - Max Per Connection: 100
Timeouts Connection: 300 - Keep-Alive: 5
Virtual Server No
Server Root C:/Program Files/Apache Software Foundation/Apache2.2
Loaded Modules core mod_win32 mpm_winnt http_core mod_so mod_actions mod_alias mod_asis mod_auth_basic mod_authn_default mod_authn_file mod_authz_default mod_authz_groupfile mod_authz_host mod_authz_user mod_autoindex mod_cgi mod_dir mod_env mod_include mod_isapi mod_log_config mod_mime mod_negotiation mod_setenvif mod_php5

Directive Local Value Master Value
engine 1 1
last_modified 0 0
xbithack 0 0

Apache Environment
Variable Value
HTTP_HOST localhost
HTTP_USER_AGENT Mozilla/5.0 (Windows NT 5.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1
HTTP_ACCEPT text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8
HTTP_ACCEPT_CHARSET ISO-8859-1,utf-8;q=0.7,*;q=0.7
PATH C:\Program Files\PHP\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\system32\WindowsPowerShell\v1.0;C:\Program Files\MySQL\MySQL Server 5.5\bin
SystemRoot C:\WINDOWS
COMSPEC C:\WINDOWS\system32\cmd.exe
SERVER_SOFTWARE Apache/2.2.17 (Win32) PHP/5.2.17
SERVER_NAME localhost
DOCUMENT_ROOT C:/Program Files/Apache Software Foundation/Apache2.2/htdocs
SERVER_ADMIN my_email_address_is_here(but I didn’t want it posted for eternity)
SCRIPT_FILENAME C:/Program Files/Apache Software Foundation/Apache2.2/htdocs/Test.php
REQUEST_URI /test.php
SCRIPT_NAME /test.php

HTTP Headers Information
HTTP Request Headers
HTTP Request GET /test.php HTTP/1.1
Host localhost
User-Agent Mozilla/5.0 (Windows NT 5.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1
Accept text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8
Accept-Language en-us,en;q=0.5
Accept-Encoding gzip, deflate
Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive 115
Connection keep-alive
HTTP Response Headers
X-Powered-By PHP/5.2.17
Keep-Alive timeout=5, max=100
Connection Keep-Alive
Transfer-Encoding chunked
Content-Type text/html

BCMath support enabled

Calendar support enabled

COM support enabled
DCOM support disabled
.Net support enabled

Directive Local Value Master Value
com.allow_dcom 0 0
com.autoregister_casesensitive 1 1
com.autoregister_typelib 0 0
com.autoregister_verbose 0 0
com.code_page no value no value
com.typelib_file no value no value

ctype functions enabled

date/time support enabled
“Olson” Timezone Database Version 2010.9
Timezone Database internal
Default timezone America/Los_Angeles

Directive Local Value Master Value
date.default_latitude 31.7667 31.7667
date.default_longitude 35.2333 35.2333
date.sunrise_zenith 90.583333 90.583333
date.sunset_zenith 90.583333 90.583333
date.timezone no value no value

DOM/XML enabled
DOM/XML API Version 20031129
libxml Version 2.7.7
HTML Support enabled
XPath Support enabled
XPointer Support enabled
Schema Support enabled
RelaxNG Support enabled

Input Validation and Filtering enabled
Revision $Revision: 298196 $

Directive Local Value Master Value
filter.default unsafe_raw unsafe_raw
filter.default_flags no value no value

FTP support enabled

hash support enabled
Hashing Engines md2 md4 md5 sha1 sha256 sha384 sha512 ripemd128 ripemd160 ripemd256 ripemd320 whirlpool tiger128,3 tiger160,3 tiger192,3 tiger128,4 tiger160,4 tiger192,4 snefru gost adler32 crc32 crc32b haval128,3 haval160,3 haval192,3 haval224,3 haval256,3 haval128,4 haval160,4 haval192,4 haval224,4 haval256,4 haval128,5 haval160,5 haval192,5 haval224,5 haval256,5

iconv support enabled
iconv implementation “libiconv”
iconv library version 1.11

Directive Local Value Master Value
iconv.input_encoding ISO-8859-1 ISO-8859-1
iconv.internal_encoding ISO-8859-1 ISO-8859-1
iconv.output_encoding ISO-8859-1 ISO-8859-1

json support enabled
json version 1.2.1

libXML support active
libXML Version 2.7.7
libXML streams enabled

ODBC Support enabled
Active Persistent Links 0
Active Links 0
ODBC library Win32

Directive Local Value Master Value
odbc.allow_persistent On On
odbc.check_persistent On On
odbc.default_cursortype Static cursor Static cursor
odbc.default_db no value no value
odbc.default_pw no value no value
odbc.default_user no value no value
odbc.defaultbinmode return as is return as is
odbc.defaultlrl return up to 4096 bytes return up to 4096 bytes
odbc.max_links Unlimited Unlimited
odbc.max_persistent Unlimited Unlimited

PCRE (Perl Compatible Regular Expressions) Support enabled
PCRE Library Version 8.02 2010-03-19

Directive Local Value Master Value
pcre.backtrack_limit 100000 100000
pcre.recursion_limit 100000 100000

Reflection enabled
Version $Id: php_reflection.c 300129 2010-06-03 00:43:37Z felipe $

Session Support enabled
Registered save handlers files user
Registered serializer handlers php php_binary wddx

Directive Local Value Master Value
session.auto_start Off Off
session.bug_compat_42 On On
session.bug_compat_warn On On
session.cache_expire 180 180
session.cache_limiter nocache nocache
session.cookie_domain no value no value
session.cookie_httponly Off Off
session.cookie_lifetime 0 0
session.cookie_path / /
session.cookie_secure Off Off
session.entropy_file no value no value
session.entropy_length 0 0
session.gc_divisor 100 100
session.gc_maxlifetime 1440 1440
session.gc_probability 1 1
session.hash_bits_per_character 4 4
session.hash_function 0 0 PHPSESSID PHPSESSID
session.referer_check no value no value
session.save_handler files files
session.save_path no value no value
session.serialize_handler php php
session.use_cookies On On
session.use_only_cookies Off Off
session.use_trans_sid 0 0

Simplexml support enabled
Revision $Revision: 299016 $
Schema support enabled

SPL support enabled
Interfaces Countable, OuterIterator, RecursiveIterator, SeekableIterator, SplObserver, SplSubject
Classes AppendIterator, ArrayIterator, ArrayObject, BadFunctionCallException, BadMethodCallException, CachingIterator, DirectoryIterator, DomainException, EmptyIterator, FilterIterator, InfiniteIterator, InvalidArgumentException, IteratorIterator, LengthException, LimitIterator, LogicException, NoRewindIterator, OutOfBoundsException, OutOfRangeException, OverflowException, ParentIterator, RangeException, RecursiveArrayIterator, RecursiveCachingIterator, RecursiveDirectoryIterator, RecursiveFilterIterator, RecursiveIteratorIterator, RecursiveRegexIterator, RegexIterator, RuntimeException, SimpleXMLIterator, SplFileInfo, SplFileObject, SplObjectStorage, SplTempFileObject, UnderflowException, UnexpectedValueException

Regex Library Bundled library enabled
Dynamic Library Support enabled
Internal Sendmail Support for Windows enabled

Directive Local Value Master Value 1 1
assert.bail 0 0
assert.callback no value no value
assert.quiet_eval 0 0
assert.warning 1 1
auto_detect_line_endings 0 0
default_socket_timeout 60 60
safe_mode_allowed_env_vars PHP_ PHP_
safe_mode_protected_env_vars LD_LIBRARY_PATH LD_LIBRARY_PATH
url_rewriter.tags a=href,area=href,frame=src,form=,fieldset= a=href,area=href,frame=src,form=,fieldset=
user_agent no value no value

Tokenizer Support enabled

WDDX Support enabled
WDDX Session Serializer enabled

XML Support active
XML Namespace Support active
libxml2 Version 2.7.7

XMLReader enabled

XMLWriter enabled

ZLib Support enabled
Stream Wrapper support compress.zlib://
Stream Filter support zlib.inflate, zlib.deflate
Compiled Version 1.2.3
Linked Version 1.2.3

Directive Local Value Master Value
zlib.output_compression Off Off
zlib.output_compression_level -1 -1
zlib.output_handler no value no value

Additional Modules
Module Name

Variable Value
ALLUSERSPROFILE C:\Documents and Settings\All Users
CommonProgramFiles C:\Program Files\Common Files
ComSpec C:\WINDOWS\system32\cmd.exe
OS Windows_NT
Path C:\Program Files\PHP\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\system32\WindowsPowerShell\v1.0;C:\Program Files\MySQL\MySQL Server 5.5\bin
PHPRC C:\Program Files\PHP\
PROCESSOR_IDENTIFIER x86 Family 6 Model 7 Stepping 1, AuthenticAMD
ProgramFiles C:\Program Files
PSModulePath C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules\
SystemDrive C:
SystemRoot C:\WINDOWS
tvdumpflags 8
USERPROFILE C:\Documents and Settings\LocalService
windir C:\WINDOWS

PHP Variables
Variable Value
_SERVER[“HTTP_HOST”] localhost
_SERVER[“HTTP_USER_AGENT”] Mozilla/5.0 (Windows NT 5.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1
_SERVER[“HTTP_ACCEPT”] text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8
_SERVER[“HTTP_ACCEPT_CHARSET”] ISO-8859-1,utf-8;q=0.7,*;q=0.7
_SERVER[“PATH”] C:\Program Files\PHP\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\system32\WindowsPowerShell\v1.0;C:\Program Files\MySQL\MySQL Server 5.5\bin
_SERVER[“SystemRoot”] C:\WINDOWS
_SERVER[“COMSPEC”] C:\WINDOWS\system32\cmd.exe
_SERVER[“SERVER_SOFTWARE”] Apache/2.2.17 (Win32) PHP/5.2.17
_SERVER[“SERVER_NAME”] localhost
_SERVER[“DOCUMENT_ROOT”] C:/Program Files/Apache Software Foundation/Apache2.2/htdocs
_SERVER[“SERVER_ADMIN”] One more email address I’ve removed was here
_SERVER[“SCRIPT_FILENAME”] C:/Program Files/Apache Software Foundation/Apache2.2/htdocs/Test.php
_SERVER[“REQUEST_URI”] /test.php
_SERVER[“SCRIPT_NAME”] /test.php
_SERVER[“PHP_SELF”] /test.php
_SERVER[“REQUEST_TIME”] 1305588319


_SERVER[“argc”] 0
_ENV[“ALLUSERSPROFILE”] C:\Documents and Settings\All Users
_ENV[“CommonProgramFiles”] C:\Program Files\Common Files
_ENV[“ComSpec”] C:\WINDOWS\system32\cmd.exe
_ENV[“OS”] Windows_NT
_ENV[“Path”] C:\Program Files\PHP\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\system32\WindowsPowerShell\v1.0;C:\Program Files\MySQL\MySQL Server 5.5\bin
_ENV[“PHPRC”] C:\Program Files\PHP\
_ENV[“PROCESSOR_IDENTIFIER”] x86 Family 6 Model 7 Stepping 1, AuthenticAMD
_ENV[“ProgramFiles”] C:\Program Files
_ENV[“PSModulePath”] C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules\
_ENV[“SystemDrive”] C:
_ENV[“SystemRoot”] C:\WINDOWS
_ENV[“tvdumpflags”] 8
_ENV[“USERPROFILE”] C:\Documents and Settings\LocalService
_ENV[“windir”] C:\WINDOWS

PHP License

This program is free software; you can redistribute it and/or modify it under the terms of the PHP License as published by the PHP Group and included in the distribution in the file: LICENSE

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

If you did not receive a copy of the PHP license, or have any questions about PHP licensing, please contact

OK - now open up that exact same file, delete everything in there, and copy/paste this:


ini_set('error_reporting', E_ALL);
echo '<form method="post"><input type="submit" name="test" value="test" /></form><pre>'.print_r($_POST, true).'</pre>';

save and upload, then click the ‘test’ button and let me know what happens.

What happened:


A test button appeared.
below it:


When the test button was clicked it changed to:

[test] => test

I haven’t thought about this yet but will post later, this evening. Thanks for the interest!

Alright, so perhaps I don’t understand what the issue is because everything appears to be working fine with php.

aamonkey -From your response I gather that your script yielded the expected result (being new to php it was not obvious to me).

Originally, I made a html page that had a form field to input a name and submit. The name $variable was to be used by php to produce a page that would show "Welcome, ‘name’ ".(Actual code used is in my original post in this thread).

All that gets printed is the “Welcome”. So I somehow connect with the page with the script on it but it fails to execute…because…
Bad syntax? I’ve tried many permutations to no avail, so I believe it to be something else, perhaps something in my server configuration file.

I am going to sleep on it, perhaps an answer will come by morning.

The test file I had you make prooves that php is running and working - are you absolutely sure that your other test php files that haven’t been working have the .php extension?