Saturday, February 28, 2009

PHP IIS and Windows XP

After installing php-5.2.9-win32-installer.msi on Windows XP Pro version 2002 Service Pack 3, I found a basic PHP script could not be interpreted via IIS.

To fix, you need to add a file extension mapping:

Right click on your Default Web Site,
Choose the Home Directory tab,
Choose the Configuration button under Application Settings,
Choose the Mappings tab, and
add an extension mapping where the executable is "C:\PHP\php5isapi.dll" (or your installation directory) and the extension is ".php"



Another issue you will have is debugging information will not be presented users by default. This is generally a good thing, but for development purposes you may want some feedback behind your failed scripts.

Find your php.ini file, normally in your installation folder.
Search for display_errors = off and change to display_errors = on.
Restart IIS via Start | Run | CMD | iisreset and you should be returned debug info in your browser.

Sunday, February 08, 2009

Fedora 10 static IP and DNS issues

You can modify IP addressing on Fedora 10 either through the GUI by System | Administration | Network or through a terminal by system-config-network . Unfortunately, my experience is something is broken when not using DHCP.

I found the subnet mask being set the same as the IP address, found the subnet mask being set to 32 bits, and found DNS servers not being retained after network, NetworkManager or server restarts.

Ultimately I edited /etc/sysconfig/networking/devices/ifcfg-eth0 by hand and all seems to be well. Mine ultimately looks like so:

# Intel Corporation 82801BA/BAM/CA/CAM Ethernet Controller
DEVICE=eth0
HWADDR=00:00:00:00:00:00
BOOTPROTO=none
ONBOOT=yes
USERCTL=yes
PEERDNS=yes
IPV6INIT=no
NM_CONTROLLED=yes
TYPE=Ethernet
NETMASK=255.255.255.0
IPADDR=10.101.10.4
GATEWAY=10.101.10.1
DNS1=10.101.10.1
DNS2=4.2.2.2

This survives service network restart, service NetworkManager restart, and server reboots, but I imagine it is the only trustworthy method of modifying the IP adressing.