I have set up an apache web server and am trying to get php to work. however, when i go to the url of the php document in my browser it just comes up asking me where i want to download the file to. please help thanx
Naturally the first thing to ask is - have you installed php5 and php apache module, mainly the apache2-mod_php5 package.
And the next thing to ask is if you have added php5 to the list in APACHE_MODULES in /etc/sysconfig/apache2.
I assume that the Apache and PHP packages are from OpenSUSE. Things get more complex if you try to install your own from upstream packages.
what does
rpm -qa | grep apache && rpm -qa | grep php
give back?
yes theyāre both installed :S and rpm -qa | grep apache && rpm -qa | grep php returnsā¦
apache2-mod_perl-2.0.3-54
apache2-example-pages-2.2.4-70.4
ant-apache-bsf-1.7.0-37
apache2-2.2.4-70.4
apache2-mod_php5-5.2.5-8.1
ant-apache-log4j-1.7.0-37
apache2-mod_mono-1.2.5-22
apache2-devel-2.2.4-70.4
ant-apache-regexp-1.7.0-37
ant-apache-bcel-1.7.0-37
apache2-prefork-2.2.4-70.4
apache2-doc-2.2.4-70.4
ant-apache-resolver-1.7.0-37
ant-apache-oro-1.7.0-37
apache2-utils-2.2.4-70.4
apache2-mod_python-3.3.1-53
php5-pdo-5.2.5-8.1
php5-hash-5.2.5-8.1
php5-xmlreader-5.2.5-8.1
php5-dom-5.2.5-8.1
apache2-mod_php5-5.2.5-8.1
php5-tokenizer-5.2.5-8.1
php5-iconv-5.2.5-8.1
php5-sqlite-5.2.5-8.1
php5-ctype-5.2.5-8.1
php5-xmlwriter-5.2.5-8.1
php5-json-5.2.5-8.1
php5-mysql-5.2.5-8.1
php5-5.2.5-8.1
What does
/usr/sbin/httpd2 -M | grep php5
output?
/usr/sbin/httpd2 -M | grep php5 gives:
[Sat Jun 14 17:15:37 2008] [crit] Failed to remove dashboard file ā/tmp/mod_mono_dashboard_XXGLOBAL_1ā, further actions impossible. Operation not permitted
Loaded Modules:
core_module (static)
mpm_prefork_module (static)
http_module (static)
so_module (static)
authz_host_module (shared)
actions_module (shared)
alias_module (shared)
auth_basic_module (shared)
authz_groupfile_module (shared)
authn_file_module (shared)
authz_user_module (shared)
autoindex_module (shared)
cgi_module (shared)
dir_module (shared)
include_module (shared)
log_config_module (shared)
mime_module (shared)
negotiation_module (shared)
setenvif_module (shared)
status_module (shared)
userdir_module (shared)
asis_module (shared)
imagemap_module (shared)
perl_module (shared)
python_module (shared)
authz_default_module (shared)
mono_module (shared)
Syntax OK
php5 module isnāt being loaded.
Edit /etc/sysconfig/apache2, find a line called APACHE_MODULES=āblah blahā and add php5 to the end of it, inside the quotes - make sure you donāt edit the line with # in front of it.
After that issue rcapache2 restart
$ a2enmod php5
$ rcapache2 restart
Iāve tried everything that has been suggested so far and it still isnāt working has anyone got any other suggestions please?
What kind of php app or page are you trying to get to?
Can you do:
grep ā<?ā phpfile.php
Why? Because by default suse has short tags turned off. If you are trying to do a phpinfo or something that is:
<?
phpinfo();
?>
It will not work. Although then I think you just get a blank page.
Does
/usr/sbin/httpd2 -M 2>&1 | grep php5
return anything now?
Iām having the same problems
/usr/sbin/httpd2 -M 2>&1 | grep php5
returns nothing
Iāve checked php5 is in the list of modules in /etc/sysconfig/apache2 and restarted apache2
The php module is not showing up in /etc/apache2/sysconfig.d/loadmodule.conf at this point should it? It tells me not to edit that file but to edit the /etc/sysconfig/apache2
my index.php file consists of
<?php
phpinfo();
?>
Iāve even tried adding AddType application/x-httpd-php .php into the virtual host (I couldnāt work out where those were specified - Iām used to RedHat systems with everything in the httpd.conf file), but when I go to the server root it just asks me were I want to save index.php
sebcrump wrote:
> Iām having the same problems
>
>> /usr/sbin/httpd2 -M 2>&1 | grep php5
>
> returns nothing
>
> Iāve checked php5 is in the list of modules in /etc/sysconfig/apache2
> and restarted apache2
Ah - try rcapache2 restart
It re-reads the sysconfig stuff - a normal restart does not
BTDTGTTS
ā
Clive
I tried restarting it every way I knew including that one from a post above.
OK - UPDATE -
I have now downgraded PHP to 5.1.2 by re-installing from the original novell online repository and it all works!
I think the problem may have related to the rpm of php5.2.6 (origin unknown) run by my colleague setting up the server
However, Iām not particularly happy running this old version that I think has a few security problems with it. So how do I upgrade it to 5.2.6? or should I start a new thread for that
Index of /repositories/server:/php/openSUSE_10.3
Contains 5.2.6 - with the assumption that youāre running 10.3.
Yeah that would mess things up. Non-SUSE packages would not benefit from the sysconfig settings in /etc/sysconfig/apache2; you would have to edit the Apache config files yourself. You donāt really want to go there, installing non-SUSE packages. You should be able to get the latest version from an OpenSUSE repository.
Sometimes Novell back patches the source but doesnāt bump the minor version number so as not to break package dependencies. But the bug is nevertheless fixed.