SQL
Error 1067 while installing Apache 1.3.34 and PHP 4.4.2 on Windows Server 2003/XP
This is a report ofthe challenges, error message 1067 in Apache 1.3.34 and solution that I found to this problem while typing to get PHP 4.4.2 to run an Apache module.
Having installed WAMP using version 2.0.55 of Apache, and now recognising the fact that Apache 2.0.55 does not come with inbuilt SSL support (due to export restrictions of some governments and the pervasiveness of Open Source applications such as WAMP/LAMP), I decided to install the stable version of 1.3.x which has better SSL support. Also, I have experienced some problems and apparent instability running PHP and mySQL on Apache 2.0.55
In this procedure, I decided to replicate the version combinations of Site5 (a popular web host) with regard to the fact that there would be a slight version number difference being that Site5 is running LAMP and the same exact versions of AMP are not compiled for Windows.
Error 1067
I was able to install and test apache with no problems at all. Since I knew that PHP 4.4.2 worked well in my other WAMP installation, I made the lazy mistake of trying to borrow too much from that installation. I carried some of the files and php.ini file from that instllation and in hindsight, it seems that php4ts.dll file that I was trying to run was not wholly compatible with the rest of the files. As usual, I ran the binary installation and then attempted to bring-in the extensions and includes from my other installation to this setup.
After struggling and failing, I decided to read some online documents that I have previously relied upon to help me find my oversights and mistakes:
- http://httpd.apache.org/docs/1.3/windows.html
- http://www.thesitewizard.com/archive/php4install.shtml
- http://www.neothermic.com/tutorials/ApacheTutorial.php (clear and concise)
Solution
The steps seemed very clear and direct on all of them but I kept getting the same error message 1067 for which there was not clear diagnostics from Apache or anyone else. The details of the Windows error message (Yes, Windows reported that Apache had failed and asked me if I wanted to report the error), ther was a reference to php4ts.dll. At least I knew that Apache was looking for PHP, and based on my experience with error 1251 in which having the wrong file at the wrong place caused me argony, I decided to refresh the folders by downloading a fresh copy of the PHP application.
I renamed the existing folder and named the new folder as c:\php , save the old php.ini file in the right place and made changes to the folder references (I decided to keep the /sapi folder intact). I relaunched Apache and it worked like a charm.
I intend to downgrade my other WAMP installation to 1.3.34 to support SSL as well as implement virtual hosts so that I can generate multiple LOG files (something that multi-site hosting of Drupal cannot provide in Apache logs since it is running on a layer above the host - Apache 1.3.34)
Warning: Cannot modify header information - headers already sent by: Drupal/mySQL Error
Related Document - Drupal 4.65 Flexinode Module causing header submission error - PHP, MySQL
mbstring PHP Extension error Windows Server 2003
In an installation of several WAMP applications running on Windows 2003 Server, Apache 2.0.55, PHP 4.4.2 and mySQL 4.16nt, the PHPmyAdmin application has an alert after login that indicates that "The mbstring PHP extension was not found and you seem to be using a multibyte charset. Without the MBString extension phpMyAdmin is unable to split strings correctly and it may result in unexpected results." Although I have been ignoring this erro message for the past two weeks, I have started expereincing lock-up of the mySQL Database service accompanied by lack of response to applications from the Database Server.
XHTML from XML using XSLT: Platform independent end-to-end enterprise information availability
Data manipulation in XML and Dynamic transformation into XHTML using XSLT
It is no-longer enough to just have a good-looking website that is regularly updated, or even running on a proprietary CMS application as a data island. Interconnectivity with other systems, as well as the ability to mix and match technology and software applications from various vendors without compromising the seamless exchange of information is the cornerstone of an agile and fluid information architecture. XML makes this representation and exchange of information possible by being plateform independent, based on pure text characters (ASCII), and virtually infinitely transformable to and from other data formats and technologies.
In the wider application of this concept is the position of a website as an extension of the organisation (with reasonable security controls and limitations) with real-time access to back-office information and availability of functions to avail services and information to users around-the-clock.
This document is an overview of the narrow function of XSL/XSLT in transforming XML (data) to XHTML (representational mark-up) for consumption by web media. Although the transformation of data stored in a relational database to website content has been done with impressive efficiency and speed, this method is still plagued by the limitation of proprietary technologies. For instance, the use of a MYSQL database limits one to using the PHP application server (unless the right adapters are in place to enable theus of other non-native server-side technologies such as JSP, ASP etc). By adding a layer that translates all information from any relational database to XML, it is possible to use any XML compatible server-side technology to handle and exchange information irrespective of the DBMS in use.
The above reality makes it important to consider how to transform XML information to XHTML that can be presented the the end user at the end of this XML free-for-all.
XSL/XSLT makes it possible to generally or conditionally transform XML information to any other XML based format.
In the example below, we are using XSLT to write an XHTML document and dynamically pulling in XML information and adding XHTML mark-up as well as CSS styling information in an external CSS file. It generates an XHTML table for each item in a collection of books and adds mark-up to the XHTML for styling using a linked CSS file.
<?xml version="1.0" encoding="ISO-8859-1"?><xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:template match="/">
<html>
<head>
<link rel="stylesheet" type="text/css" xhref="idonnystyle.css" />
</head>
<body>
<h2>iDonny XSLT Demonstration</h2>
<table id="main_table">
<tr class="header_title">
<th class="column_1">Title</th>
<th class="column_2">Artist</th>
</tr>
<xsl:for-each select="catalog/books">
<tr>
<td class="column_1_data"><xsl:value-of select="title"/></td>
<td class="column_2_data"><xsl:value-of select="artist"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template></xsl:stylesheet>


