Apache unable to startup, ScriptAlias on Windows - php

I've installed Apache 2.2 on a Windows machine for use in PHP local coding & debugging. Apache is not running however, says running 0 of 1 services.
When I try to restart it it just says "requested operation failed".
The output from the Test configuration says ScriptAlias takes arguments, a fakename and a realname. The actual lines in the script causing the problem -
#BEGIN PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL
ScriptAlias /php/ ""
Action application/x-httpd-php "php-cgi.exe"
#END PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL
Has anyone encountered this before?

Make sure port 80 is free, programs like Skype or IIS use it.
XAMPP has a tool for knowing if all ports required are free.

Related

XAMPP Apache Won't Start after PHP Upgrade

Apache won't start on Mac with XAMPP. I tried updating PHP from 5.5.6 to PHP 5.6.8, and since that update XAMPP wouldn't start Apache. I tried completely re-installing XAMPP, but same issue.
Help would be appreciated, I'm more than happy to post any information that is necessary, not sure where to start. I've done a lot of looking around and haven't been able to find anything that points me in the right direction - I checked the Apache error_logs and there aren't any.
Try this -
Solution#1
This solution worked perfectly fine for me..
1) Close XAMPP control
2) Open Activity Monitor(Launchpad->Other->Activity Monitor)
3) Select filter for All processes (default is My processes)
4) In fulltext search type: httpd
5) Kill all httpd items
6) Relaunch XAMPP control and launch apache again
OR, Solution#2
sudo apachectl stop
This command kills Apache server that was pre-installed on MAC OS X.
OR, Solution#3
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist
This will disable OSX's built-in Apache server and allows XAMPP to start on 80.
Now once Apache starts successfully modify the .htaccess file
Apache needs to be configured to recognize index.php as an index file. While adding 'DirectoryIndex index.php' to a .htaccess file may work,
NOTE:
In general, you should never use .htaccess files
This is quoted from http://httpd.apache.org/docs/1.3/howto/htaccess.html
Although this refers to an older version of apache, I believe the principle still applies.
Adding the following to your httpd.conf (if you have access to it) is considered better form, causes less server overhead and has the exact same effect:
<Directory /myapp>
DirectoryIndex index.php
</Directory>
I've updated PHP to 8.0 in xampp by renaming old PHP folder to PHP_7.4
and new pasted new php8 folder as php folder, it gave me same error,
SOLUTION
Step1: backup old php folder,
Step2: Paste php8 files in to old PHP folder and overwrite existing files,
Done: Restart Apache it should start

Apache/PHP on Windows 8

I'm having trouble with Apache/PHP on Windows 8. I have previously been using them on XP (along with MySQL) with no problems. I never used Windows 7.
Apache installs without issues. Everything works OK, including all my virtual servers.
PHP installs OK, the installation puts entries into httpd.conf without giving errors.
However, when I try to load Apache after installing PHP, Apache won't load.
I'm confused by the error that Apache returns when the PHP entries are included in httpd.conf:
Syntax error on line 1029 of C:/Program Files/Apache Group/Apache2/conf/httpd.conf:
Cannot load C:/Program Files/PHP/php5apache2_2.dll into server: The specified module could not be found.
The lines are:
#BEGIN PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL
PHPIniDir "C:\Program Files\PHP\"
LoadModule php5_module "C:\Program Files\PHP\php5apache2_2.dll"
#END PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL
(line 1029 is the LoadModule line).
That location for the dll is definitely correct. The syntax of the line is as inserted by PHP. I have compared the syntax to previous versions of httpd.conf that I have and it appears correct. I think the syntax error is a red herring.
I have tried:
Switching backslashes to slashes in the dll location.
Adding PHP to the path.
Installing Apache and PHP in both sequences.
Checking the permissions to the PHP folder and the individual files
to ensure that SYSTEM has read/execute.
Comment out the PHP lines and Apache loads fine. If I comment out the LoadModule line and and just leave the PHPIniDir line, it still fails. Apache seems to be behaving as though it can't see the PHP directory, but I can't work out why.
There is nothing on the Windows event log. Latest versions of PHP and Apache. I'm at a bit of a loss what to try next. Any suggestions please?
Download and follow instructions from this link:
http://www.apachelounge.com/download/
The latest download (2.4) works on Windows 8 and Server 2012.
I downloaded and tested with the following on Windows 8:
Each zip has a readme.txt or install.txt with instructions.
Apache 2.4
http://www.apachelounge.com/download/win32/binaries/httpd-2.4.3-win32.zip
PHP 5.4.8
http://windows.php.net/downloads/releases/php-5.4.8-Win32-VC9-x86.zip
PHP 5.4.8 handler for Apache
http://www.apachelounge.com/download/win32/modules-2.4/php5apache2_4.dll-php-5.4-win32.zip
My httpd.conf lines that were added/modified were:
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule php5_module "C:/Apache24/php-5.4.8/php5apache2_4.dll"
LoadFile "C:/Apache24/php-5.4.8/php5ts.dll"
PHPIniDir "C:/Apache24/php-5.4.8"
<IfModule php5_module>
<Location />
AddType text/html .php
AddHandler application/x-httpd-php .php
#AddHandler application/x-httpd-php-source .phps
</Location>
</IfModule>
Its mentioned in the Readme.txt file packed with the dll's at ApacheLounge, but not anywhere else on the download page or in the filename (as all other versions):
"Runs with PHP 5.4 Thread Safe (TS), and only with Apache 2.4 Win32 VC9 or VC10"
The dlls are only for the TS version, so if you've downloaded the other one, you are basically screwed. TS php binaries fixed it for me.
GL.
Presuming this is your development, not deployment environment, why don't you just download xampp from apache friends? It should come preconfigured, and you will deploy in other setup anyway.
I ran into the similar issue when reinstalling Apache and PHP on Win 8 (I am more Linux user though). And similar to the original post, no matter what I tried to do in httpd.conf and php.ini Apache simply either did not start or did not see the PHP. After spending unreasonable amount of time, I decided to download the PHP 5.3 (5.3.27)-VC9 x86 Thread Safe (2013-Jul-10 21:56:58) Installer [45.86MB] instead of the non-tread safe version which I have been using before. There is a difference in the .msi installers. The one for the thread-safe version actually contains the required files and if you follow the installer prompts it will actually asks you if the php installation should be "linked" to Apache server. Then you just provide the hhtpd.conf directory and all works fine. Thats my 2c on this :)
I think the problem is in the blank "Program Files".

Trouble setting up apache on vmware

I'm trying to set up a virtual machine (vmware workstation 8.0.2) running CentOS 6.2 (i386) to mirror my live server so I can work locally. I'm running Windows 7 64bit. I have installed CentOS, PHP & MySQL they all seem to be running fine.
I now need to get it to access my files on the windows machine. I've installed the VMware tools and can now see the shared folder in /mnt/hgfs/Work/. I now need to point apache to the files here so it can use them, to do this I edited httpd.conf from:
DocumentRoot "/var/www/html"
to
DocumentRoot "/mnt/hgfs" (also tried DocumentRoot "/mnt/hgfs/Work")
when I restart apache it fails and I get:
Starting httpd: Syntax error on line 293 of /etc/httpd/conf/httpd.conf:
DocumentRoot must be a directory
I've used Linux, but not very often so it's probably something obvious I've missed, I'd really appreciate any help on this.
Check that you are not having trouble with SELinux, which is enforcing by default on CentOS 6.
You can either disable it by editing /etc/selinux/config or read up on it here
http://rackerhacker.com/2012/01/25/getting-started-with-selinux/

How do I disable suphp on ubuntu 10.04 server

I have put together a small ubuntu 10.04 server with apache2 and php for use only for testing purposes. I am finding suphp keeps getting in my way. Doubtless this is a useful tool for security etc, but right now, as this is only a local testing ground I would like to disable it to prevent it continually throwing errors relating to file ownership etc.
So, as the title says: How do I disable suphp on ubuntu server 10.04.
Thanks
a2dismod suphp -> to disable su php mod
instead of disabling all use virtual hosts conf file or http.conf and add
<VirtualHost ..>
suPHP_Engine off
...

Windows 7: PHP 5 Configured with Apache 2.2 when run from Console but not as Service

I'm on Windows 7 and I have installed Apache 2.2, PHP 5 (latest stable build) and MySQL.
I have configured PHP 5 with Apache 2.2 as a module (i.e. LoadModule and AddType statements added in httpd.conf).
Everything seems to work when I start Apache from the console (command prompt) but PHP would not work when the Apache service is started. In this configuration, the localhost/index.php ends up getting downloaded in the browser. Why is that?
My guess is that the Apache Service loads up its own version httpd.conf file. Anybody faced similar problems?
DO note:
- I know of XAMPP, WAMP etc and I don't want to use them
- I don't want to use PHP as CGI
I finally switched to XAMPP. But I feel this has to do with some of the default security settings in Windows 7. WinXP gives me no problem.

Categories