Installing PHP is a relatively simple task one would think. Indeed it is simple, but configuring the php.ini isn’t; at least not so on Windows Vista! It is infuriating when such a relatively simple task is made inordinately complicated because of the nuances of Vista permissions. What started out as a 5 minute task took a significant number of hours searching for a suitable answer on Google, and not only by myself.
The task I was trying to achieve was the installation of development versions of WordPress, Drupal, MediaWiki and Moodle, all of which would require a MySQL database. Trying to load the MySQL extension should have been a simple case of uncommenting the line in the php.ini and restarting the Apache service. With Vista, this was certainly not the case.
I set up a very simple page detailing the php configuration in an index.php file:
< ?php phpinfo(); ?>
This showed me the default configuration path of my php.ini and extensions directory, amongst a whole host of other information.
In both cases the paths were incorrect. First and foremost the configuration file path stated C:\Windows when in fact I had installed it in the root (C:\PHP5). So, although I was amending the php.ini file with the correct detail, Vista was using the default values. If there is no php.ini file in Windows, then you’ll continue banging your head against a brick wall.
The problems didn’t stop there. Moving the php.ini file to the Windows directory under Vista isn’t a simple copy and paste task. You need to be administrator. But Vista’s administrator priviledges are more pseudo than actual! In order to amend and save the php.ini file in the Windows directory, you must run Notepad as administrator and save the file as such. Voila! Everything then works. The phpinfo() function returned the correct installation detail and I could continue with the job I was meant to be doing.
PS. Thanks to Rob Douglas for his help.
Tags: configuration, configuring, difficulties, installation, paths, permissions, PHP, problems, Rob Douglas, solution, solutions, solving, Vista




















1 comment
Comments feed for this article
Trackback link
http://www.simonwhatley.co.uk/phpini-permission-problems-on-windows-vista/trackback
19 February 2008 at 11:20 am
Thomas Tallyce
Good set of articles; your writing is very clear.
I wonder if you have come across the same problem that I have on WinVista/Apache2/PHP5:
I set my PHP ini settings in httpd.conf (either in the vhost or on a per-directory basis), so that each site can have its own settings, and the whole server be locked down easily without having to modify php.ini at all.
I’ve found however, that on Vista, periodically, the include_path value just gets forgotten about, and I have restart from the start menu with right-click > ‘Run as administrator’. After restarting, the include_path setting is then correct again, and the site functions fine.
(Having diffed a phpinfo() output page before and after this problem, I see the only changes are the Local Value for include_path, mbstring.internal_encoding and HTTP headers > Keep-Alive.)
Have you come across this? I’m baffled.. it’s as if it just forgets the setting after a while, and I can’t think why this is happening.