PHP scripts in HTML not working

I originaly had a custom installation of Apache which i compiled from source when I set the server up. Recently I needed to add PHP capablitites. I had forgotten that I compiled Apache and installed PHP using YAST.

When i could not get PHP working i relized I had installed Apache and PHP differently so I used YAST to uninstall PHP and some other appplications I had installed at the same time and deleted the Apachee2 folder, httpd.conf file and the htdocs folder.

I then used YAST to install Apache and PHP5 at the same time. I haave tried this a couple of times and I still can not get PHP scripts to run.

I would apppreicate any suggestions

Below is a copy of my httpd.conf file

/etc/apache2/httpd.conf

This is the main Apache server configuration file. It contains the

configuration directives that give the server its instructions.

See <URL:http://httpd.apache.org/docs-2.2/> for detailed information about

the directives.

Based upon the default apache configuration file that ships with apache,

which is based upon the NCSA server configuration files originally by Rob

McCool. This file was knocked together by Peter Poeml <poeml+apache@suse.de>.

If possible, avoid changes to this file. It does mainly contain Include

statements and global settings that can/should be overridden in the

configuration of your virtual hosts.

Quickstart guide:

http://www.opensuse.org/Apache_Howto_Quickstart

Overview of include files, chronologically:

httpd.conf

|

|-- uid.conf . . . . . . . . . . . . . . UserID/GroupID to run under

|-- server-tuning.conf . . . . . . . . . sizing of the server (how many processes to start, …)

|-- sysconfig.d/loadmodule.conf . . . . . [li] load these modules

[/li]# |-- listen.conf . . . . . . . . . . . . . IP adresses / ports to listen on

|-- mod_log_config.conf . . . . . . . . . define logging formats

|-- sysconfig.d/global.conf . . . . . . . [li] server-wide general settings

[/li]# |-- mod_status.conf . . . . . . . . . . . restrict access to mod_status (server monitoring)

|-- mod_info.conf . . . . . . . . . . . . restrict access to mod_info

|-- mod_usertrack.conf . . . . . . . . . defaults for cookie-based user tracking

|-- mod_autoindex-defaults.conf . . . . . defaults for displaying of server-generated directory listings

|-- mod_mime-defaults.conf . . . . . . . defaults for mod_mime configuration

|-- errors.conf . . . . . . . . . . . . . customize error responses

|-- ssl-global.conf . . . . . . . . . . . SSL conf that applies to default server and all virtual hosts

|

|-- default-server.conf . . . . . . . . . set up the default server that replies to non-virtual-host requests

| |–mod_userdir.conf . . . . . . . . enable UserDir (if mod_userdir is loaded)

| `–conf.d/apache2-manual?conf . . . add the docs (’?’ = if installed)

|

|-- sysconfig.d/include.conf . . . . . . [li] your include files

[/li]# | (for each file to be included here, put its name

| into APACHE_INCLUDE_* in /etc/sysconfig/apache2)

|

`-- vhosts.d/ . . . . . . . . . . . . . . for each virtual host, place one file here

`-- .conf . . . . . . . . . . . . . (.conf is automatically included)

Files marked [li] are created from sysconfig upon server restart: instead of

[/li]# these files, you edit /etc/sysconfig/apache2

Filesystem layout:

/etc/apache2/

|-- charset.conv . . . . . . . . . . . . for mod_auth_ldap

|-- conf.d/

| |-- apache2-manual.conf . . . . . . . conf that comes with apache2-doc

| |-- mod_php4.conf . . . . . . . . . . (example) conf that comes with apache2-mod_php4

| `-- … . . . . . . . . . . . . . . . other configuration added by packages

|-- default-server.conf

|-- errors.conf

|-- httpd.conf . . . . . . . . . . . . . top level configuration file

|-- listen.conf

|-- magic

|-- mime.types → …/mime.types

|-- mod_autoindex-defaults.conf

|-- mod_info.conf

|-- mod_log_config.conf

|-- mod_mime-defaults.conf

|-- mod_perl-startup.pl

|-- mod_status.conf

|-- mod_userdir.conf

|-- mod_usertrack.conf

|-- server-tuning.conf

|-- ssl-global.conf

|-- ssl.crl/ . . . . . . . . . . . . . . PEM-encoded X.509 Certificate Revocation Lists (CRL)

|-- ssl.crt/ . . . . . . . . . . . . . . PEM-encoded X.509 Certificates

|-- ssl.csr/ . . . . . . . . . . . . . . PEM-encoded X.509 Certificate Signing Requests

|-- ssl.key/ . . . . . . . . . . . . . . PEM-encoded RSA Private Keys

|-- ssl.prm/ . . . . . . . . . . . . . . public DSA Parameter Files

|-- sysconfig.d/ . . . . . . . . . . . . files that are created from /etc/sysconfig/apache2

| |-- global.conf

| |-- include.conf

| `-- loadmodule.conf

|-- uid.conf

`-- vhosts.d/ . . . . . . . . . . . . . . put your virtual host configuration (*.conf) here

|-- vhost-ssl.template

`-- vhost.template

Global Environment

The directives in this section affect the overall operation of Apache,

such as the number of concurrent requests.

run under this user/group id

Include /etc/apache2/uid.conf

- how many server processes to start (server pool regulation)

- usage of KeepAlive

Include /etc/apache2/server-tuning.conf

ErrorLog: The location of the error log file.

If you do not specify an ErrorLog directive within a <VirtualHost>

container, error messages relating to that virtual host will be

logged here. If you do define an error logfile for a <VirtualHost>

container, that host’s errors will be logged there and not here.

ErrorLog /var/log/apache2/error_log

generated from APACHE_MODULES in /etc/sysconfig/apache2

Include /etc/apache2/sysconfig.d/loadmodule.conf

IP addresses / ports to listen on

Include /etc/apache2/listen.conf

predefined logging formats

Include /etc/apache2/mod_log_config.conf

generated from global settings in /etc/sysconfig/apache2

Include /etc/apache2/sysconfig.d/global.conf

optional mod_status, mod_info

Include /etc/apache2/mod_status.conf
Include /etc/apache2/mod_info.conf

optional cookie-based user tracking

read the documentation before using it!!

Include /etc/apache2/mod_usertrack.conf

configuration of server-generated directory listings

Include /etc/apache2/mod_autoindex-defaults.conf

associate MIME types with filename extensions

TypesConfig /etc/apache2/mime.types
DefaultType text/plain
Include /etc/apache2/mod_mime-defaults.conf

set up (customizable) error responses

Include /etc/apache2/errors.conf

global (server-wide) SSL configuration, that is not specific to

any virtual host

Include /etc/apache2/ssl-global.conf

forbid access to the entire filesystem by default

<Directory />
Options None
AllowOverride None
Order deny,allow
Deny from all
</Directory>

use .htaccess files for overriding,

AccessFileName .htaccess

and never show them

<Files ~ “^.ht”>
Order allow,deny
Deny from all
</Files>

List of resources to look for when the client requests a directory

DirectoryIndex index.html index.html.var index.php index.php5 index.php4 index.php3

‘Main’ server configuration

The directives in this section set up the values used by the ‘main’

server, which responds to any requests that aren’t handled by a

<VirtualHost> definition. These values also provide defaults for

any <VirtualHost> containers you may define later in the file.

All of these directives may appear inside <VirtualHost> containers,

in which case these default settings will be overridden for the

virtual host being defined.

Include /etc/apache2/default-server.conf

Another way to include your own files

The file below is generated from /etc/sysconfig/apache2,

include arbitrary files as named in APACHE_CONF_INCLUDE_FILES and

APACHE_CONF_INCLUDE_DIRS

Include /etc/apache2/sysconfig.d/include.conf

Virtual server configuration

VirtualHost: If you want to maintain multiple domains/hostnames on your

machine you can setup VirtualHost containers for them. Most configurations

use only name-based virtual hosts so the server doesn’t need to worry about

IP addresses. This is indicated by the asterisks in the directives below.

Please see the documentation at

<URL:http://httpd.apache.org/docs-2.2/vhosts/>

for further details before you try to setup virtual hosts.

You may use the command line option ‘-S’ to verify your virtual host

configuration.

Include /etc/apache2/vhosts.d/*.conf

Note: instead of adding your own configuration here, consider

adding it in your own file (/etc/apache2/httpd.conf.local)

putting its name into APACHE_CONF_INCLUDE_FILES in

/etc/sysconfig/apache2 – this will make system updates

easier :slight_smile:

Here is the page (test.html) i am trying to load

<html><body><h1>It works! whoopie!!</h1><p> <?php echo ‘<p>Hello World</p>’; ?> </p><p> <?php
echo $_SERVER[‘HTTP_USER_AGENT’];
?>
</p>
well?
</body></html>

Output from page

It works! whoopie!!

Hello World
'; ?>

well?

To be recognised as a PHP script by Apache, the filename has to end in .php. Also it goes without saying that you should access it through the web server, not directly.

Thanks. That was the issue. I renamed the test file test.php and it worked. I guess it has been longer than I realized since I did any PHP.

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Yes, unless there is a handler to have PHP parse .html files, which may be
possible (doubtful). Rename your file to .php. Also it may useful to see
what you have in /etc/apache2/sysconfig.d/loadmodule.conf to ensure PHP is
loaded in there.

Good luck.

ken yap wrote:
> To be recognised as a PHP script by Apache, the filename has to end in
> .php. Also it goes without saying that you should access it through the
> web server, not directly.
>
>
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQIcBAEBAgAGBQJLMZ0kAAoJEF+XTK08PnB5wQ0P/2BHwGt+bCKZY6NYiKPpn2l9
/gJ1gqL5zzEDRby8cmeNC0cJcAYcInXG2k0CqbCmw4qYFaLk5KSL5G8vc79PnaF/
emKrklFaLwwAIzRz/R0sCn24jIBbaO5bHQvYwMphq/VgscSGZXn3OOnkM3MsU1Hz
xo28nd3/pHsFzeWGKB0Y6TI7OW3kvYxeHRKVd6oXsO6fqqX2heZSSDRBpMrk3/5X
JgdV1hDQY9zTTPB2IYkPqINaxvEOKmHhhB7/Rw3HllDR+1SDnNoo7/lIbQqcsJib
gq7c9SmhD/5BQd/7VAQM11pGZJZ27Es2z5sdS8AzFWA0mF61c12OlsFjCv1femKp
NbjXSdojuY+aZff1zbcJ2vpx9EuSC3/yNRZPYIV4PH4eskFRm48jyqXYZr+5Af/O
dZQAcCjUhUp4qFM9D6j7Hv8V83zDoUFu3oRhCovJzq2WGgnn0zmrwXjFT/TqPTNn
NCrdTu7W/fFpF9fAf0CoymfspgldAIJo/4bEm6sz7ALt9twY8i04Vbud5P7xJdE/
/PMrq1o0iyNx/SLU1POCEUmtrPyndBWv5CPF688s6VaBc+H/NlxEMA4jOin1GnxU
nFALFE4bL+34cb0orEpGIbtw3k3olD88ypJJbvY63wYixMbIRt1T/ZNUOESI8YUE
WPUCIohtZmTVnJCbzByK
=X9MJ
-----END PGP SIGNATURE-----