<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Web Programming Answers</title>
	<atom:link href="http://www.bogartcomputing.com/web-programming-answers/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.bogartcomputing.com/web-programming-answers</link>
	<description>Joomla Programmer, PHP, Joomla, Zen-Cart, osCommerce, MySQL, CSS, XHTML, Ecommerce, Search Engine Marketing, Web Programming answers, often in their rawest form</description>
	<lastBuildDate>Sun, 20 Jun 2010 19:38:01 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Local Windows XP, XAMPP Apache server, NuSphere PhpED debugger, Zend Framework mod_rewrite PHP Code Setup</title>
		<link>http://www.bogartcomputing.com/web-programming-answers/274/local-windows-xp-xampp-apache-server-nusphere-phped-debugger-zend-framework-mod_rewrite-php-code-setup/</link>
		<comments>http://www.bogartcomputing.com/web-programming-answers/274/local-windows-xp-xampp-apache-server-nusphere-phped-debugger-zend-framework-mod_rewrite-php-code-setup/#comments</comments>
		<pubDate>Sun, 20 Jun 2010 19:36:01 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Joomla]]></category>

		<guid isPermaLink="false">http://www.bogartcomputing.com/web-programming-answers/?p=274</guid>
		<description><![CDATA[INTRODUCTION How to setup a Zend Framework PHP web site on a local machine Windows XP machine using XAMPP and PhPED Debugger GOALS - Run the site from http://localhost or some equivalent on the local machine - Run the site in PhpED debugger WHY THIS ISN&#8217;T LIKE A NORMAL PHP WEB SITE - the Zend [...]]]></description>
			<content:encoded><![CDATA[<p></p><p><strong>INTRODUCTION</strong><br />
How to setup a Zend Framework PHP web site on a local machine Windows XP machine using XAMPP and PhPED Debugger</p>
<p><strong>GOALS</strong></p>
<p>- Run the site from http://localhost or some equivalent on the local machine<br />
- Run the site in PhpED debugger</p>
<p><strong>WHY THIS ISN&#8217;T LIKE A NORMAL PHP WEB SITE</strong></p>
<p>- the Zend Framework URL rewrites setup will KILL you on a local machine. As in, you will either want to commit suicide or homicide trying to set this up.</p>
<p>- If this example uses a slash at the end of a directory path or URI, USE THE SLASH.</p>
<p>- Every period, comma and slash is important!</p>
<p>- You might be able to make this work without the punctuation, but if your setup is broken, check the punctuation!</p>
<p><strong>OPERATING SYSTEM</strong><br />
WINDOWS XP and appropriate 150 or so Microsoft updates.</p>
<p><strong>APACHE SERVER, MYSQL DATABASE</strong><br />
XAMPP Package xampp-win32-1.7.1.exe<br />
It&#8217;s not the most recent but I know it works with Joomla and it works for this project as well.<br />
Extract to c:\ which creates c:\xampp<br />
Using the XAMPP control panel, install MySql and Apache as Windows services.</p>
<p><strong>WHENEVER YOU MAKE CHANGES TO </strong><br />
C:/xampp/apache files,<br />
RESTART Apache<br />
using Windows Services<br />
or at CMD &#8220;c:\xampp\apache\bin\httpd.exe&#8221; -k restart</p>
<p><strong>DEBUGGER IDE</strong><br />
NuSphere PhpED Professional 5.95 build 5970<br />
Install using all defaults to c:\program files\nusphere</p>
<p><strong>WEB SITE ZEND FRAMEWORK SETUP</strong><br />
Extract root of web site to c:\xampp\htdocs\myapp, where myapp is the placeholder for your web site&#8217;s root directory. A correctly architected Zend project will not require an index.php in the root directory. index.php is forwarded to public\index.php. This project (that we&#8217;re calling myapp, and that I inherited), does not use public for index.php. index.php is in the root directory. It does use .htaccess on a shared server BUT DOES NOT use .htaccess here.</p>
<p><strong>ARCHITECTURE</strong></p>
<pre>I AM NOT RECOMMENDING THIS ARCHITECTURE.
I am only documenting how to debug it.</pre>
<p>c:/xampp/htdocs/myapp/application</p>
<pre>configs, models, views, Bootstrap.php</pre>
<p>c:/xampp/htdocs/myapp/public</p>
<pre>resources such as images and videos</pre>
<p>c:/xampp/htdocs/myapp/public/index.php</p>
<pre>The index.php that invokes the Bootstrap</pre>
<p>myapp/.htaccess or myapp/public/.htaccess</p>
<pre>THERE ARE NONE. Virtual Hosts overrides .htaccess.</pre>
<p>c:/xampp/htdocs/myapp/php.ini:</p>
<pre>php_flag magic_quotes_gpc off
php_flag register_globals off
php_value include_path .;c:/xampp\htdocs\myapp\application;
</pre>
<p>c:/xampp/htdocs/myapp/application/configs/application.ini*<br />
* USE FULL PATHS rather than hybrid concatenations off APPLICATION_PATH</p>
<pre>[production]
phpSettings.display_startup_errors = 0
phpSettings.display_errors = 0
phpSettings.date.timezone = "UTC"
includePaths.library = c:\xampp\htdocs\myapp\application\library
bootstrap.path = c:\xampp\htdocs\myapp\application\Bootstrap.php
bootstrap.class = "Bootstrap"
resources.frontController.controllerDirectory = c:\xampp\htdocs\myapp\application\controllers
resources.db.adapter = PDO_MYSQL
resources.db.params.host = localhost
resources.db.params.username = root
resources.db.params.password =
resources.db.params.dbname = myapp

staging : production]

[testing : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1

[development : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
</pre>
<p><strong>WINDOWS ENVIRONMENT PATH</strong><br />
Has NuSphere items from installation but NO extra definitions.<br />
Paths are defined in php.ini, application.ini, hosts and httpd.conf files.</p>
<p><strong>APACHE CONFIGURATION</strong><br />
c:/xampp/apache/conf/httpd.conf</p>
<p>Many of these are defaulted to these values. Some are not.</p>
<p>Enable mod_rewrite<br />
LoadModule rewrite_module modules/mod_rewrite.so</p>
<p>Include vhosts conf:<br />
Include conf/extra/httpd-vhosts.conf</p>
<p>Set AllowOverride to All &#8212; this directive affects whether Apache will read .htaccess.<br />
It is actually only necessary in vhosts (instructions below). However this setup is SO touchy that<br />
I would go ahead and set every AllowOverride to All regardless of which  element it&#8217;s in.</p>
<p>Entire c:/xampp/apache/conf/httpd.conf:</p>
<pre>ThreadsPerChild 250
MaxRequestsPerChild  0
ServerRoot "C:/xampp/apache"
Listen 80
LoadModule actions_module modules/mod_actions.so
LoadModule alias_module modules/mod_alias.so
LoadModule asis_module modules/mod_asis.so
LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule auth_digest_module modules/mod_auth_digest.so
LoadModule authn_alias_module modules/mod_authn_alias.so
LoadModule authn_anon_module modules/mod_authn_anon.so
LoadModule authn_dbd_module modules/mod_authn_dbd.so
LoadModule authn_dbm_module modules/mod_authn_dbm.so
LoadModule authn_default_module modules/mod_authn_default.so
LoadModule authn_file_module modules/mod_authn_file.so
LoadModule authz_dbm_module modules/mod_authz_dbm.so
LoadModule authz_default_module modules/mod_authz_default.so
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
LoadModule authz_host_module modules/mod_authz_host.so
LoadModule authz_user_module modules/mod_authz_user.so
LoadModule autoindex_module modules/mod_autoindex.so
LoadModule cache_module modules/mod_cache.so
LoadModule mem_cache_module modules/mod_mem_cache.so
LoadModule cern_meta_module modules/mod_cern_meta.so
LoadModule charset_lite_module modules/mod_charset_lite.so
LoadModule cgi_module modules/mod_cgi.so
LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so
LoadModule deflate_module modules/mod_deflate.so
LoadModule dir_module modules/mod_dir.so
LoadModule env_module modules/mod_env.so
LoadModule expires_module modules/mod_expires.so
LoadModule ext_filter_module modules/mod_ext_filter.so
LoadModule headers_module modules/mod_headers.so
LoadModule ident_module modules/mod_ident.so
LoadModule include_module modules/mod_include.so
LoadModule info_module modules/mod_info.so
LoadModule isapi_module modules/mod_isapi.so
LoadModule ldap_module modules/mod_ldap.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule mime_module modules/mod_mime.so
LoadModule mime_magic_module modules/mod_mime_magic.so
LoadModule negotiation_module modules/mod_negotiation.so
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule speling_module modules/mod_speling.so
LoadModule status_module modules/mod_status.so
LoadModule unique_id_module modules/mod_unique_id.so
LoadModule usertrack_module modules/mod_usertrack.so
LoadModule vhost_alias_module modules/mod_vhost_alias.so
LoadModule ssl_module modules/mod_ssl.so
ServerAdmin admin@localhost
ServerName localhost:80
DocumentRoot "C:/xampp/htdocs"

    Options FollowSymLinks
    AllowOverride All
    Order deny,allow
    Deny from all

Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Order allow,deny
Allow from all

DirectoryIndex index.php index.php4 index.php3 index.cgi index.pl index.html index.htm index.shtml index.phtml

Order allow,deny
Deny from all

ErrorLog logs/error.log
LogLevel warn

LogFormat "%h %l %u %t \"%r\" %&gt;s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %&gt;s %b" common

LogFormat "%h %l %u %t \"%r\" %&gt;s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio

CustomLog logs/access.log common
ScriptAlias /cgi-bin/ "C:/xampp/cgi-bin/"

AllowOverride All
Options None
Order allow,deny
Allow from all

DefaultType text/plain

TypesConfig conf/mime.types
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddHandler cgi-script .cgi
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml

EnableMMAP off
EnableSendfile off
Include conf/extra/httpd-xampp.conf
Include conf/extra/httpd-multilang-errordoc.conf
Include conf/extra/httpd-autoindex.conf
Include conf/extra/httpd-languages.conf
Include conf/extra/httpd-userdir.conf
Include conf/extra/httpd-info.conf
Include conf/extra/httpd-vhosts.conf
Include conf/extra/httpd-manual.conf
Include conf/extra/httpd-dav.conf
Include conf/extra/httpd-default.conf
Include conf/extra/httpd-ssl.conf

SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</pre>
<p><strong>VHOSTS</strong><br />
c:/xampp/apache/conf/extra/httpd-vhosts.conf</p>
<pre>NameVirtualHost *:80

DocumentRoot "c:\xampp\htdocs\myapp"
ServerName myapp.local
SetEnv APPLICATION_ENV "development"

RewriteEngine on
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule !\.(js|ico|gif|jpg|png|css|php)$ \index.php
RewriteBase /
DirectoryIndex index.php
AllowOverride All
Order allow,deny
Allow from all
</pre>
<p><strong>WINDOWS HOSTS</strong><br />
c:/windows/system32/drivers/etc/hosts</p>
<pre>127.0.0.1       localhost</pre>
<p><strong>INDEX.PHP</strong><br />
c:/xampp/htdocs/myapp/index.php<br />
(Really does start with &lt; ?php and doesn&#8217;t end with ?&gt;)</p>
<pre>&lt; ?php // Define path to application directory defined('APPLICATION_PATH')     || define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/application')); // Define application environment defined('APPLICATION_ENV')     || define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'production')); // Ensure library/ is on include_path set_include_path(implode(PATH_SEPARATOR, array(     realpath(APPLICATION_PATH . '/../library'),     get_include_path(), ))); /** Zend_Application */ require_once 'Zend/Application.php';   // Create application, bootstrap, and run $application = new Zend_Application(     APPLICATION_ENV,      APPLICATION_PATH . '/configs/application.ini' ); require_once 'Zend/Mail.php'; $application-&gt;bootstrap()
            -&gt;run();
</pre>
<p><strong>PHPED PROJECT PROPERTIES</strong></p>
<p>PROJECT</p>
<pre>Root Directory: c:\xampp\htdocs\myapp
Additional Directories:
Source control: none
</pre>
<p>PUBLISHING</p>
<pre>Account:
Top publishing directory:
Don't publish directories: CVS;.svn
</pre>
<p>MAPPING</p>
<pre>HTTP mode (3rd party WEB server)
Root URL: http://localhost
Remote root directory: c:\xampp\htdocs\myapp
</pre>
<p>FILES</p>
<pre>Default file to run: c:\xampp\htdocs\myapp\index.php
Hide files:
Hide directories: CVS;.svn
</pre>
<p>PARSER</p>
<pre>CHECK Use Project-specific parser properties
PARSER PROPERTIES
Target PHP Version: 5.0 through 5.2
CHECK Support for short PHP tags &lt; ? ?&gt;
UNCHECKED Parse PHP in CSS files
UNCHECKED Support ASP style PHP Tags &lt; % %&gt;
UNCHECKED Parse PHP in Javascript files
</pre>
<p>DEBUGGER</p>
<pre>UNCHECKED Use Project-specific debugger settings
</pre>
<p>MAPPING</p>
<pre>Remote Directory: c:\xampp\htdocs\myapp
Local directory c:\xampp\htdocs\myapp
URL: http://localhost
Publishing Directory:
</pre>
<p>INTEGRATION</p>
<pre>phpdoc_target_dir:
</pre>
<p>INCLUDES</p>
<pre>Use what the debugger puts there
</pre>
<h2>SECRET TO GETTING IT TO WORK IN PHPED</h2>
<pre>The default PhpED file is index.php.
When you run the project in the debugger
it will create a URL such as:

http://localhost/index.php?DBGSESSID=403496131559100015@clienthost;d=1,p=0,c=1

And it will just keep recycling in the debugger,
the call stack always going back to the first
line of index.php.

GET RID OF INDEX.PHP:

Change the URL to http://localhost
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.bogartcomputing.com/web-programming-answers/274/local-windows-xp-xampp-apache-server-nusphere-phped-debugger-zend-framework-mod_rewrite-php-code-setup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Zend Server and XAMPP .htaccess mod_rewrite is on but ignored, creates 404&#8242;s</title>
		<link>http://www.bogartcomputing.com/web-programming-answers/269/zend-server-htaccess-mod_rewrite-is-on-but-ignored-creates-404s/</link>
		<comments>http://www.bogartcomputing.com/web-programming-answers/269/zend-server-htaccess-mod_rewrite-is-on-but-ignored-creates-404s/#comments</comments>
		<pubDate>Sat, 19 Jun 2010 20:05:04 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Joomla]]></category>

		<guid isPermaLink="false">http://www.bogartcomputing.com/web-programming-answers/?p=269</guid>
		<description><![CDATA[Virtual hosts require the rewrite engine be set in the conf rather than the .htaccess file. If you&#8217;re using a virtual host, put the mod rewrite commands in the virutal host settings. Include the vhosts conf file by uncommenting c:\program files\zend\apache2\conf\httpd.conf: Include conf/extra/httpd-vhosts.conf Add a virtual host to conf/extra/httpd-vhosts.conf. Note that a conf RewriteCond requires [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>Virtual hosts require the rewrite engine be set in the conf rather than the .htaccess file. If you&#8217;re using a virtual host, put the mod rewrite commands in the virutal host settings.</p>
<p>Include the vhosts conf file by uncommenting c:\program files\zend\apache2\conf\httpd.conf:</p>
<pre>Include conf/extra/httpd-vhosts.conf
</pre>
<p>Add a virtual host to conf/extra/httpd-vhosts.conf. Note that a conf RewriteCond requires a pre-pended slash where .htaccess doesn&#8217;t, so you are rewriting /index.php, not index.php.</p>
<pre>NameVirtualHost *:80</pre>
<pre>&lt;VirtualHost *:80&gt;
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ /index.php [NC,L]
DocumentRoot "c:\Program Files\Zend\Apache2\htdocs\yourapp"
ServerName yourapp.local
SetEnv APPLICATION_ENV development
&lt;Directory "c:\program files\zend\apache2\htdocs\yourapp"&gt;
DirectoryIndex index.php
AllowOverride All
Order allow,deny
Allow from all
&lt;/Directory&gt;
</pre>
<p>Add virtual host server to c:/windows/system32/drivers/etc/hosts:</p>
<pre>127.0.0.1 yourapp.local</pre>
<p>Restart apache</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bogartcomputing.com/web-programming-answers/269/zend-server-htaccess-mod_rewrite-is-on-but-ignored-creates-404s/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Zend path not found in NuSphere PhpED debugger on Windows XP Xampp</title>
		<link>http://www.bogartcomputing.com/web-programming-answers/257/zend-path-not-found-in-nusphere-phped-debugger-on-windows-xp-xampp/</link>
		<comments>http://www.bogartcomputing.com/web-programming-answers/257/zend-path-not-found-in-nusphere-phped-debugger-on-windows-xp-xampp/#comments</comments>
		<pubDate>Fri, 18 Jun 2010 03:09:28 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Joomla]]></category>

		<guid isPermaLink="false">http://www.bogartcomputing.com/web-programming-answers/?p=257</guid>
		<description><![CDATA[If you add to the PATH but it doesn&#8217;t take you can add the path items manually in index.php: ini_set('include_path', ini_get('include_path'). ';C:\Zend\library;');]]></description>
			<content:encoded><![CDATA[<p></p><p>If you add to the PATH but it doesn&#8217;t take you can add the path items manually in index.php:</p>
<pre>ini_set('include_path', ini_get('include_path'). ';C:\Zend\library;');</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.bogartcomputing.com/web-programming-answers/257/zend-path-not-found-in-nusphere-phped-debugger-on-windows-xp-xampp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PhpEd Nusphere debugger gives “web server failed” debugging Zend framework project: dbg-wizard not found</title>
		<link>http://www.bogartcomputing.com/web-programming-answers/248/phped-nusphere-debugger-gives-web-server-failed-debugging-zend-framework-project-dbg-wizard-not-found/</link>
		<comments>http://www.bogartcomputing.com/web-programming-answers/248/phped-nusphere-debugger-gives-web-server-failed-debugging-zend-framework-project-dbg-wizard-not-found/#comments</comments>
		<pubDate>Thu, 17 Jun 2010 21:08:19 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[.htaccess]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Zend Framework]]></category>

		<guid isPermaLink="false">http://www.bogartcomputing.com/web-programming-answers/?p=248</guid>
		<description><![CDATA[To debug a Zend framework project set to run on a virtual host, use these settings: Web Server (Apache or another) used for development is located on this machine Document root: C:\zs\quickstart\public (i.e., the PUBLIC directory of your project) URL: http://quickstart.local/ (i.e, the virtual URL of your project) Project root directory: C:\zs\quickstart\public (i.e., the PUBLIC [...]]]></description>
			<content:encoded><![CDATA[<p></p><p><strong>To debug a Zend framework project set to run on a <a title="zend framework virtual host" href="http://www.bogartcomputing.com/web-programming-answers/213/a-heavily-corrected-windows-xp-xampp-zend-framework-quickstart-tutorial-revision/" target="_self">virtual host</a>, use these settings:</strong></p>
<ul>
<li> Web Server (Apache or another) used for development is located on this machine</li>
<li> Document root: C:\zs\quickstart\public (i.e., the PUBLIC directory of your project)</li>
<li> URL: http://quickstart.local/ (i.e, the virtual URL of your project)</li>
<li> Project root directory: C:\zs\quickstart\public (i.e., the PUBLIC directory of your project)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.bogartcomputing.com/web-programming-answers/248/phped-nusphere-debugger-gives-web-server-failed-debugging-zend-framework-project-dbg-wizard-not-found/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A heavily corrected Windows XP XAMPP Zend Framework Quickstart Tutorial Revision</title>
		<link>http://www.bogartcomputing.com/web-programming-answers/213/a-heavily-corrected-windows-xp-xampp-zend-framework-quickstart-tutorial-revision/</link>
		<comments>http://www.bogartcomputing.com/web-programming-answers/213/a-heavily-corrected-windows-xp-xampp-zend-framework-quickstart-tutorial-revision/#comments</comments>
		<pubDate>Thu, 17 Jun 2010 03:46:31 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[.htaccess]]></category>
		<category><![CDATA[PHP Programming]]></category>
		<category><![CDATA[Web Programming]]></category>
		<category><![CDATA[Zend Framework]]></category>

		<guid isPermaLink="false">http://www.bogartcomputing.com/web-programming-answers/?p=213</guid>
		<description><![CDATA[http://framework.zend.com/manual/en/learning.quickstart.intro.html With many thanks to commenter alstanto on: 2010-04-07 22:04:18 Download Zend Framework 1.10.5 from: http://downloads.zend.com/framework/1.10.5/ZendFramework-1.10.5.zip Pre-Tutorial Extract to c:\ZendFramework-1.10.5 Rename directory to c:\Zend Add to Environment Path: ;C:\Zend\bin;C:\Zend\library;C:\xampp\php Uncomment C:\xampp\apache\conf\httpd.conf Include conf/extra/httpd-vhosts.conf In C:\xampp\apache\conf\extra\httpd-vhosts.conf add: &#60;VirtualHost *:80&#62; DocumentRoot "c:\zs\quickstart\public" ServerName quickstart.local SetEnv APPLICATION_ENV "development" &#60;Directory c:\zs\quickstart\public&#62; DirectoryIndex index.php AllowOverride All Order allow,deny Allow from [...]]]></description>
			<content:encoded><![CDATA[<p></p><p><a title="zend framework quickstart  tutorial" href="http://framework.zend.com/manual/en/learning.quickstart.intro.html" target="_blank">http://framework.zend.com/manual/en/learning.quickstart.intro.html</a></p>
<p>With many thanks to commenter alstanto on: 2010-04-07 22:04:18</p>
<p><strong>Download Zend Framework 1.10.5 from:</strong><br />
<a title="zend framework " href="http://downloads.zend.com/framework/1.10.5/ZendFramework-1.10.5.zip" target="_blank">http://downloads.zend.com/framework/1.10.5/ZendFramework-1.10.5.zip</a></p>
<p><strong>Pre-Tutorial</strong></p>
<ul>
<li> Extract to c:\ZendFramework-1.10.5</li>
<li> Rename directory to c:\Zend</li>
<li>Add to Environment Path:
<pre>;C:\Zend\bin;C:\Zend\library;C:\xampp\php</pre>
</li>
<li>Uncomment C:\xampp\apache\conf\httpd.conf
<pre>Include conf/extra/httpd-vhosts.conf</pre>
</li>
<li>In C:\xampp\apache\conf\extra\httpd-vhosts.conf add:
<pre>&lt;VirtualHost *:80&gt;
DocumentRoot "c:\zs\quickstart\public"
ServerName quickstart.local
SetEnv APPLICATION_ENV "development"
&lt;Directory c:\zs\quickstart\public&gt;
DirectoryIndex index.php
AllowOverride All
Order allow,deny
Allow from all
&lt;/Directory&gt;
&lt;/VirtualHost&gt;
&lt;VirtualHost *:80&gt;
DocumentRoot C:\xampp\htdocs
ServerName localhost
&lt;/VirtualHost&gt;
</pre>
</li>
<li>In C:\WINDOWS\system32\drivers\etc\hosts add:</li>
<pre>127.0.0.1 quickstart.local</pre>
<p>This means your tutorial files are accessed via <a href="http://quickstart.local">http://quickstart.local</a></p>
<li>Uncomment C:\xampp\apache\conf\httpd.conf</li>
<pre>LoadModule rewrite_module modules/mod_rewrite.so
</pre>
<li>In C:\xampp\php\php.ini add ;c:\zend\library;  to include_path:
<pre>include_path = ".;C:\xampp\php\pear\;c:\Zend\library"</pre>
</li>
<li>In C:\xampp\php\php.ini, uncomment
<pre>extension=php_pdo.dll
extension=php_pdo_sqlite.dll</pre>
</li>
</ul>
<p><strong>Reboot</strong></p>
<p><strong>START tutorial</strong></p>
<p>http://framework.zend.com/manual/en/learning.quickstart.create-project.html</p>
<ul>
<li>Run zf command line tool:
<pre>start, run, cmd
cd \
mkdir zs
cd zs
zf create project quickstart</pre>
</li>
<li>This is not in the tutorial: add a rewrite rule to public/.htaccess so that the file looks as follows:
<pre>RewriteEngine On</pre>
<pre>RewriteCond %{REQUEST_FILENAME} -s [OR]</pre>
<pre>RewriteCond %{REQUEST_FILENAME} -l [OR]</pre>
<pre>RewriteCond %{REQUEST_FILENAME} -d</pre>
<pre>RewriteRule ^.*$ - [NC,L]</pre>
<pre>RewriteRule ^.*$ index.php [NC,L]</pre>
<pre>RewriteRule !\.(js|ico|txt|gif|jpg|png|css)$ index.php</pre>
</li>
<li>View welcome page
<pre><a href="http://quickstart.local">http://quickstart.local</a></pre>
</li>
</ul>
<p><strong>CONTINUE tutorial</strong></p>
<p>http://framework.zend.com/manual/en/learning.quickstart.create-layout.html</p>
<ul>
<li>Return to the cmd line at C:\zs\quickstart
<pre>zf enable layout</pre>
</li>
<li>Edit C:\zs\quickstart\application\BootStrap.php. Add this method to the Bootstrap class:
<pre>protected function _initDoctype()
{
$this-&gt;bootstrap('view');
$view = $this-&gt;getResource('view');
$view-&gt;doctype('XHTML1_STRICT');
}
</pre>
</li>
<li> Add line to C:\zs\quickstart\application\configs\application.ini, production section:
<pre>resources.view[] =</pre>
</li>
<li>Replace the contents of C:\zs\quickstart\application\layouts\scripts\layout.phtml with:
<pre>&lt;!-- application/layouts/scripts/layout.phtml --&gt;
&lt;?php echo $this-&gt;doctype() ?&gt;
&lt;html xmlns="http://www.worg/xhtml"&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html; charset=utf- /&gt;
&lt;title&gt;Zend Framework Quickstart Application&lt;/title&gt;
&lt;?php echo $this-&gt;headLink()-&gt;appendStylesheet('/css/global.css') ?&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;div id="header" style="background-color: #EEEEEE; height: x;"&gt;
&lt;div id="header-logo" style="float: left"&gt;
&lt;b&gt;ZF Quickstart Application&lt;/b&gt;
&lt;/div&gt;
&lt;div id="header-navigation" style="float: right"&gt;
&lt;a href="&lt;?php echo $this-&gt;url(
array('controller'=&gt;'guestbook'),
'default',
true) ?&gt;"&gt;Guestbook&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;?php echo $this-&gt;layout()-&gt;content ?&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre>
</li>
<li>View new layout, note guestbook is not yet hooked up:
<pre>http://quickstart.local</pre>
</li>
</ul>
<p><strong>Continue tutorial</strong></p>
<p>http://framework.zend.com/manual/en/learning.quickstart.create-model.html</p>
<ul>
<li>Tutorial commands will not work in Windows. Tutorial asks you to run in cmd c:\zs\quickstart:
<pre>zf configure db-adapter "adapter=PDO_SQLITE&amp;dbname=APPLICATION_PATH '/../data/db/guestbook.db'" production</pre>
<p>The tutorial would also have you put all three databases in the [production] section. Instead run these commands:</p>
<pre>zf configure db-adapter "adapter=PDO_SQLITE&amp;dbname=APPLICATION_PATH \"/../data/db/guestbook.db\"" production
zf configure db-adapter "adapter=PDO_SQLITE&amp;dbname=APPLICATION_PATH \"/../data/db/guestbook-testing.db\"" testing
zf configure db-adapter "adapter=PDO_SQLITE&amp;dbname=APPLICATION_PATH \"/../data/db/guestbook-dev.db\"" development</pre>
</li>
</ul>
<p style="padding-left: 60px;"><strong>This is neither part of the tutorial NOR the project.<br />
If you want to use MySql instead of Sqlite:</strong></p>
<ul style="padding-left: 30px;">
<li> In c:/xampp/php/php.ini, uncomment
<pre style="padding-left: 90px;">extension=php_pdo_mysql.dll</pre>
</li>
<li> At cmd c:/zs/quickstart, run command (change to your dbname, host, username, password)
<pre style="padding-left: 90px;">zf configure db-adapter "adapter=PDO_MYSQL&amp;dbname=mydb&amp;host=localhost&amp;username=root&amp;password production</pre>
</li>
<li>Restart Apache</li>
<li>In localhost/phpmyadmin create database mydb</li>
</ul>
<ul>
<li>Create the db directory in cmd at c:\zs\quickstart (you don&#8217;t do this for mysql):
<pre>mkdir data\db
attrib -R data
</pre>
</li>
<li> At this point the tutorial would have you create scripts/schema.sqlite.sql and other database files. The tutorial took you through creating data\db, so it should also mention that scripts needs to be created. In cmd at C:\zs\quickstart:
<pre>mkdir scripts
</pre>
</li>
<li> Create c:/zs/quickstart/scripts/schema.sqlite.sql (for mysql name the file schema.mysql.sql)
<pre>-- scripts/schema.sqlite.sql
--
-- You will need load your database schema with this SQL.
CREATE TABLE guestbook (
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
email VARCHAR(32) NOT NULL DEFAULT 'noemail@test.com',
comment TEXT NULL,
created DATETIME NOT NULL
);
CREATE INDEX "id" ON "guestbook" ("id");
</pre>
</li>
<li>Create c:/zs/quickstart/scripts/data.sqlite.sql (for mysql name the file data.mysql.sql)
<pre>-- scripts/data.sqlite.sql
--
-- You can begin populating the database with the following SQL statements.
INSERT INTO guestbook (email, comment, created) VALUES
('ralph.schindler@zend.com','Hello! Hope you enjoy this sample zf application!',DATETIME('NOW'));
INSERT INTO guestbook (email, comment, created) VALUES('foo@bar.com','Baz baz baz, baz baz Baz baz baz - baz baz baz.',DATETIME('NOW'));
</pre>
</li>
<li>Create scripts/load.sqlite.php (for mysql name the file load.mysql.php and change all script references from sqlite to mysql). The tutorial does not include &lt;?php and ?&gt;. Add these.
<pre>&lt;?php
// scripts/load.sqlite.php
/**
* Script for creating and loading database
*/
// Initialize the application path and autoloading
defined('APPLICATION_PATH')
|| define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../application'));
set_include_path(implode(PATH_SEPARATOR, array(
APPLICATION_PATH . '/../library',
get_include_path(),
)));
require_once 'Zend/Loader/Autoloader.php';
Zend_Loader_Autoloader::getInstance();
// Define some CLI options
$getopt = new Zend_Console_Getopt(array(
'withdata|w' =&gt; 'Load database with sample data',
'env|e-s'    =&gt; 'Application environment for which to create database (defaults to development)',
'help|h'     =&gt; 'Help -- usage message',
));
try {
$getopt-&gt;parse();
} catch (Zend_Console_Getopt_Exception $e) {
// Bad options passed: report usage
echo $e-&gt;getUsageMessage();
return false;
}
// If help requested, report usage message
if ($getopt-&gt;getOption('h')) {
echo $getopt-&gt;getUsageMessage();
return true;
}
// Initialize values based on presence or absence of CLI options
$withData = $getopt-&gt;getOption('w');
$env      = $getopt-&gt;getOption('e');
defined('APPLICATION_ENV')
|| define('APPLICATION_ENV', (null === $env) ? 'development' : $env);
// Initialize Zend_Application
$application = new Zend_Application(
APPLICATION_ENV,
APPLICATION_PATH . '/configs/application.ini'
);
// Initialize and retrieve DB resource
$bootstrap = $application-&gt;getBootstrap();
$bootstrap-&gt;bootstrap('db');
$dbAdapter = $bootstrap-&gt;getResource('db');
// let the user know whats going on (we are actually creating a
// database here)
if ('testing' != APPLICATION_ENV) {
echo 'Writing Database Guestbook in (control-c to cancel): ' . PHP_EOL;
for ($x = 5; $x &gt; 0; $x--) {
echo $x . "\r"; sleep(1);
}
}
// Check to see if we have a database file already
$options = $bootstrap-&gt;getOption('resources');
$dbFile  = $options['db']['params']['dbname'];
if (file_exists($dbFile)) {
unlink($dbFile);
}
// this block executes the actual statements that were loaded from
// the schema file.
try {
$schemaSql = file_get_contents(dirname(__FILE__) . '/schema.sqlite.sql');
// use the connection directly to load sql in batches
$dbAdapter-&gt;getConnection()-&gt;exec($schemaSql);
chmod($dbFile, 0666);
if ('testing' != APPLICATION_ENV) {
echo PHP_EOL;
echo 'Database Created';
echo PHP_EOL;
}
if ($withData) {
$dataSql = file_get_contents(dirname(__FILE__) . '/data.sqlite.sql');
// use the connection directly to load sql in batches
$dbAdapter-&gt;getConnection()-&gt;exec($dataSql);
if ('testing' != APPLICATION_ENV) {
echo 'Data Loaded.';
echo PHP_EOL;
}
}
} catch (Exception $e) {
echo 'AN ERROR HAS OCCURED:' . PHP_EOL;
echo $e-&gt;getMessage() . PHP_EOL;
return false;
}
// generally speaking, this script will be run from the command line
return true;
?&gt;
</pre>
</li>
<li> At the cmd c:\zs\quickstart
<pre>php scripts/load.sqlite.php --withdata</pre>
</li>
<li>At the cmd c:\zs\quickstart
<pre>zf create db-table Guestbook guestbook</pre>
</li>
<li>Create application/models/GuestbookMapper.php
<pre>&lt;?php
// application/models/GuestbookMapper.php
class Application_Model_GuestbookMapper
{
public function save($model);
public function find($id, $model);
public function fetchAll();
}
?&gt;
</pre>
</li>
<li>At the cmd c:\zs\quickstart
<pre>zf create model GuestbookMapper
</pre>
</li>
<li>Replace contents of application/models/GuestbookMapper.php with:
<pre>// application/models/GuestbookMapper.php
class Application_Model_GuestbookMapper
{
protected $_dbTable;
public function setDbTable($dbTable)
{
if (is_string($dbTable)) {
$dbTable = new $dbTable();
}
if (!$dbTable instanceof Zend_Db_Table_Abstract) {
throw new Exception('Invalid table data gateway provided');
}
$this-&gt;_dbTable = $dbTable;
return $this;
}
public function getDbTable()
{
if (null === $this-&gt;_dbTable) {
$this-&gt;setDbTable('Application_Model_DbTable_Guestbook');
}
return $this-&gt;_dbTable;
}
public function save(Application_Model_Guestbook $guestbook)
{
$data = array(
'email'   =&gt; $guestbook-&gt;getEmail(),
'comment' =&gt; $guestbook-&gt;getComment(),
'created' =&gt; date('Y-m-d H:i:s'),
);
if (null === ($id = $guestbook-&gt;getId())) {
unset($data['id']);
$this-&gt;getDbTable()-&gt;insert($data);
} else {
$this-&gt;getDbTable()-&gt;update($data, array('id = ?' =&gt; $id));
}
}
public function find($id, Application_Model_Guestbook $guestbook)
{
$result = $this-&gt;getDbTable()-&gt;find($id);
if (0 == count($result)) {
return;
}
$row = $result-&gt;current();
$guestbook-&gt;setId($row-&gt;id)
-&gt;setEmail($row-&gt;email)
-&gt;setComment($row-&gt;comment)
-&gt;setCreated($row-&gt;created);
}
public function fetchAll()
{
$resultSet = $this-&gt;getDbTable()-&gt;fetchAll();
$entries   = array();
foreach ($resultSet as $row) {
$entry = new Application_Model_Guestbook();
$entry-&gt;setId($row-&gt;id)
-&gt;setEmail($row-&gt;email)
-&gt;setComment($row-&gt;comment)
-&gt;setCreated($row-&gt;created);
$entries[] = $entry;
}
return $entries;
}
}
</pre>
</li>
<li>At c:\zs\quickstart cmd
<pre>zf create model Guestbook</pre>
</li>
<li>Replace contents of application/models/Guestbook.php with:
<pre>// application/models/Guestbook.php
class Application_Model_Guestbook
{
protected $_comment;
protected $_created;
protected $_email;
protected $_id;
public function __construct(array $options = null)
{
if (is_array($options)) {
$this-&gt;setOptions($options);
}
}
public function __set($name, $value)
{
$method = 'set' . $name;
if (('mapper' == $name) || !method_exists($this, $method)) {
throw new Exception('Invalid guestbook property');
}
$this-&gt;$method($value);
}
public function __get($name)
{
$method = 'get' . $name;
if (('mapper' == $name) || !method_exists($this, $method)) {
throw new Exception('Invalid guestbook property');
}
return $this-&gt;$method();
}
public function setOptions(array $options)
{
$methods = get_class_methods($this);
foreach ($options as $key =&gt; $value) {
$method = 'set' . ucfirst($key);
if (in_array($method, $methods)) {
$this-&gt;$method($value);
}
}
return $this;
}
public function setComment($text)
{
$this-&gt;_comment = (string) $text;
return $this;
}
public function getComment()
{
return $this-&gt;_comment;
}
public function setEmail($email)
{
$this-&gt;_email = (string) $email;
return $this;
}
public function getEmail()
{
return $this-&gt;_email;
}
public function setCreated($ts)
{
$this-&gt;_created = $ts;
return $this;
}
public function getCreated()
{
return $this-&gt;_created;
}
public function setId($id)
{
$this-&gt;_id = (int) $id;
return $this;
}
public function getId()
{
return $this-&gt;_id;
}
}
</pre>
</li>
<li> At cmd z:\zs\quickstart
<pre>zf create controller Guestbook</pre>
</li>
<li>Add these lines to c:\zs\quickstart\application\controllers\GuestbookController.php init method
<pre>$guestbook = new Application_Model_GuestbookMapper();
$this-&gt;view-&gt;entries = $guestbook-&gt;fetchAll();
</pre>
<p>So that GuestbookController.php indexAction now looks like this:</p>
<pre>// application/controllers/GuestbookController.php

public function indexAction()
{
$guestbook = new Application_Model_GuestbookMapper();
$this-&gt;view-&gt;entries = $guestbook-&gt;fetchAll();
}
</pre>
</li>
<li> Change out the contents of c:\zs\quickstart\application\views\scripts\guestbook\index.phtml with:
<pre>&lt;!-- application/views/scripts/guestbook/index.phtml --&gt;
&lt;p&gt;&lt;a href="&lt;?php echo $this-&gt;url(
array(
'controller' =&gt; 'guestbook',
'action'     =&gt; 'sign'
),
'default',
true) ?&gt;"&gt;Sign Our Guestbook&lt;/a&gt;&lt;/p&gt;
Guestbook Entries: &lt;br /&gt;
&lt;dl&gt;
&lt;?php foreach ($this-&gt;entries as $entry): ?&gt;
&lt;dt&gt;&lt;?php echo $this-&gt;escape($entry-&gt;email) ?&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;?php echo $this-&gt;escape($entry-&gt;comment) ?&gt;&lt;/dd&gt;
&lt;?php endforeach ?&gt;
&lt;/dl&gt;
</pre>
</li>
<li>View the guest book
<pre>http://quickstart.local</pre>
<p>Note that the sign guest book is not implemented yet</li>
</ul>
<ul style="padding-left: 30px;">
<li>At cmd c:\zs\quickstart
<pre>zf create form Guestbook</pre>
</li>
<li>Replace application/forms/Guestbook.php with:<br />
(add &lt;?php and ?&gt; which are missing in tutorial)</p>
<pre>&lt;?php
// application/forms/Guestbook.php
class Application_Form_Guestbook extends Zend_Form
{
public function init()
{
// Set the method for the display form to POST
$this-&gt;setMethod('post');
// Add an email element
$this-&gt;addElement('text', 'email', array(
'label'      =&gt; 'Your email address:',
'required'   =&gt; true,
'filters'    =&gt; array('StringTrim'),
'validators' =&gt; array(
'EmailAddress',
)
));
// Add the comment element
$this-&gt;addElement('textarea', 'comment', array(
'label'      =&gt; 'Please Comment:',
'required'   =&gt; true,
'validators' =&gt; array(
array('validator' =&gt; 'StringLength', 'options' =&gt; array(0, 20))
)
));
// Add a captcha
$this-&gt;addElement('captcha', 'captcha', array(
'label'      =&gt; 'Please enter the 5 letters displayed below:',
'required'   =&gt; true,
'captcha'    =&gt; array(
'captcha' =&gt; 'Figlet',
'wordLen' =&gt; 5,
'timeout' =&gt; 300
)
));
// Add the submit button
$this-&gt;addElement('submit', 'submit', array(
'ignore'   =&gt; true,
'label'    =&gt; 'Sign Guestbook',
));
// And finally add some CSRF protection
$this-&gt;addElement('hash', 'csrf', array(
'ignore' =&gt; true,
));
}
}

?&gt;
</pre>
</li>
<li>In c:\zs\quickstart cmd run
<pre>zf create action sign Guestbook
</pre>
</li>
<li>Replace application/controllers/GuestbookController.php signAction() with:
<pre>public function signAction()
{
$request = $this-&gt;getRequest();
$form    = new Application_Form_Guestbook();
if ($this-&gt;getRequest()-&gt;isPost()) {
if ($form-&gt;isValid($request-&gt;getPost())) {
$comment = new Application_Model_Guestbook($form-&gt;getValues());
$mapper  = new Application_Model_GuestbookMapper();
$mapper-&gt;save($comment);
return $this-&gt;_helper-&gt;redirector('index');
}
}
$this-&gt;view-&gt;form = $form;
}
</pre>
</li>
<li> Replace application/views/scripts/guestbook/sign.phtml contents with:
<pre>&lt;!-- application/views/scripts/guestbook/sign.phtml --&gt;
Please use the form below to sign our guestbook!
&lt;?php
$this-&gt;form-&gt;setAction($this-&gt;url());
echo $this-&gt;form;
</pre>
</li>
<li>View and add guestbook entries
<pre><a href="http://quickstart.local">http://quickstart.local</a></pre>
</li>
</ul>
<pre style="padding-left: 60px;">zf configure db-adapter "adapter=PDO_MYSQL&amp;dbname=zipforce&amp;host=localhost&amp;username=root&amp;password production</pre>
<p style="padding-left: 30px;"><strong>CONTINUE tutorial</strong></p>
<p>http://framework.zend.com/manual/en/learning.quickstart.create-form.html</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bogartcomputing.com/web-programming-answers/213/a-heavily-corrected-windows-xp-xampp-zend-framework-quickstart-tutorial-revision/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Zend xampp Windows .htaccess development error messages</title>
		<link>http://www.bogartcomputing.com/web-programming-answers/205/zend-htaccess-development-error-messages/</link>
		<comments>http://www.bogartcomputing.com/web-programming-answers/205/zend-htaccess-development-error-messages/#comments</comments>
		<pubDate>Tue, 25 May 2010 04:25:04 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[.htaccess]]></category>
		<category><![CDATA[Zend Framework]]></category>

		<guid isPermaLink="false">http://www.bogartcomputing.com/web-programming-answers/?p=205</guid>
		<description><![CDATA[To override the production environment default in Zend framework, add this to .htaccess: SetEnv APPLICATION_ENV development &#8220;development&#8221; enables the application to display debugging errors even when the .ini only has a [production] section.]]></description>
			<content:encoded><![CDATA[<p></p><p>To override the production environment default in Zend framework, add this to .htaccess:</p>
<p>SetEnv APPLICATION_ENV development</p>
<p>&#8220;development&#8221; enables the application to display debugging errors even when the .ini only has a [production] section.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bogartcomputing.com/web-programming-answers/205/zend-htaccess-development-error-messages/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Joomla JEvents Won&#8217;t Show All Events</title>
		<link>http://www.bogartcomputing.com/web-programming-answers/203/joomla-jevents-wont-show-all-events/</link>
		<comments>http://www.bogartcomputing.com/web-programming-answers/203/joomla-jevents-wont-show-all-events/#comments</comments>
		<pubDate>Sun, 16 May 2010 11:09:19 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Joomla]]></category>

		<guid isPermaLink="false">http://www.bogartcomputing.com/web-programming-answers/?p=203</guid>
		<description><![CDATA[The menu item specifying the calendar component limits the categories displayed by that menu. If event categories are created after the menu is created those event categories won&#8217;t display until you update the menu to specify the new categories.]]></description>
			<content:encoded><![CDATA[<p></p><p>The menu item specifying the calendar component limits the categories displayed by that menu. If event categories are created after the menu is created those event categories won&#8217;t display until you update the menu to specify the new categories.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bogartcomputing.com/web-programming-answers/203/joomla-jevents-wont-show-all-events/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>@rackcloud forum post, or, move off @rackcloud or I&#8217;ll shoot this dog</title>
		<link>http://www.bogartcomputing.com/web-programming-answers/197/rackcloud-forum-post-or-move-off-rackcloud-or-ill-shoot-this-dog/</link>
		<comments>http://www.bogartcomputing.com/web-programming-answers/197/rackcloud-forum-post-or-move-off-rackcloud-or-ill-shoot-this-dog/#comments</comments>
		<pubDate>Sat, 13 Feb 2010 23:49:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Joomla]]></category>

		<guid isPermaLink="false">http://www.bogartcomputing.com/web-programming-answers/?p=197</guid>
		<description><![CDATA[Subject: 4 site comparisons caroline Joined: Aug 12, 2007 Messages: 97 Online Each domain name is a Cloud site. Each IP number is the same site as the domain name version but on a different host. The 208.85.243.55 is slightly smaller because there&#8217;s one extra text-only module published on the home page of the Cloud [...]]]></description>
			<content:encoded><![CDATA[<p></p><table border="0" cellspacing="0" width="100%">
<tbody>
<tr>
<td width="160" height="22"><span> </span></td>
<td height="22"><span> <strong>Subject:</strong> <a id="17847" name="17847">4 site comparisons</a> </span></td>
<td align="right" valign="top"><!-- Icons --></td>
</tr>
</tbody>
</table>
<p><!-- Username --></p>
<p><span><strong>caroline</strong></span><br />
<span><br />
<img src="https://manage.rackspacecloud.com/forum/images/avatar/3a20f62a0af1aa152670bab3c602feed.png" border="0" alt="" /></span></p>
<p>Joined: Aug 12, 2007<br />
Messages: 97<br />
<span>Online</span></p>
<p><!-- Message --></p>
<p><span><span style="font-size: 14px; line-height: normal;"> </span></span></p>
<ul>
<li> Each domain name is a Cloud site.</li>
<li>Each IP number is the same site as the domain name version but on a different host.</li>
<li>The 208.85.243.55 is slightly smaller because there&#8217;s one extra text-only module published on the home page of the Cloud based version</li>
<li>The timings were random based on how long it took me to tab format the results before moving onto the next test</li>
<li>6:20pm #1 is a reminder of the &#8220;ah c&#8217;mon not 8 seconds&#8221; conversation from yesterday.</li>
<li>Out of 5 randomly-timed requests, one was 14 seconds.</li>
<li>I&#8217;ve had customers routinely report multi-second and multi-minute web site hangs.</li>
<li>In order to meet the terms of the bait and switch SLA (bait: marketing, switch: the burger king wrapper that is your cloud waranty), a web site hang doesn&#8217;t happen unless you are1) around to notice it<br />
2) not so busy that putting in a ticket doesn&#8217;t seem like a giant waste of time</p>
<p>Since these two conditions are extremely unlikely to happen the SLA will never come out in your favor.</li>
<li>When you can guilt an associate into seeing your point of view, instead of a refund you get MORE MONTHS OF THIS crap added to your account.In that spirit, I&#8217;m running a contest.First prize will be one month hosting on the cloud.Second prize is 4 months hosting and the third prize is an entire year.<br />
<table border="0" align="center">
<tbody>
<tr>
<td><span><strong>Code:</strong></span></td>
</tr>
</tbody>
</table>
<table border="0" align="center">
<tbody>
<tr>
<td>
<pre> 6:18pm
 #
 	 Domain name 		Size 		Load Time 	Average Speed per KB
 1	planetherbs.com		47.5 KB		1.93 seconds	0.04 seconds
 2	208.85.243.55		45.23 KB	0.75 seconds	0.02 seconds

 3	b-naturals.com		23.15 KB	1.59 seconds	0.07 seconds
 4	208.85.243.58		23.15 KB	1.33 seconds	0.06 seconds

 5	smalldogmall.com	14.45 KB	1.39 seconds	0.1 seconds
 6	208.85.243.59		14.45 KB	1.74 seconds	0.12 seconds

 7	maryannelive.com	39.23 KB	2.19 seconds	0.06 seconds
 8	208.85.243.57		39.23 KB	1.69 seconds	0.04 seconds</pre>
</td>
</tr>
</tbody>
</table>
<table border="0" align="center">
<tbody>
<tr>
<td><span><strong>Code:</strong></span></td>
</tr>
</tbody>
</table>
<table border="0" align="center">
<tbody>
<tr>
<td>
<pre> 6:20pm
 #
 	 Domain name 		Size 		Load Time 	Average Speed per KB
 1	planetherbs.com		47.4 KB		14.17 seconds	0.3 seconds
 2	208.85.243.55		45.21 KB	0.74 seconds	0.02 seconds

 3	b-naturals.com		23.15 KB	2.18 seconds	0.09 seconds
 4	208.85.243.58		23.15 KB	1.1 seconds	0.05 seconds

 5	smalldogmall.com	14.45 KB	2.71 seconds	0.19 seconds
 6	208.85.243.59		14.45 KB	1.88 seconds	0.13 seconds

 7	maryannelive.com	39.23 KB	1.19 seconds	0.03 seconds
 8	208.85.243.57		39.23 KB	1.42 seconds	0.04 seconds</pre>
</td>
</tr>
</tbody>
</table>
<table border="0" align="center">
<tbody>
<tr>
<td><span><strong>Code:</strong></span></td>
</tr>
</tbody>
</table>
<table border="0" align="center">
<tbody>
<tr>
<td>
<pre> 6:22pm
 #
 	 Domain name 		Size 		Load Time 	Average Speed per KB
 1	planetherbs.com		47.48 KB	1.97 seconds	0.04 seconds
 2	208.85.243.55		45.24 KB	0.74 seconds	0.02 seconds

 3	b-naturals.com		23.15 KB	1.74 seconds	0.08 seconds
 4	208.85.243.58		23.15 KB	0.96 seconds	0.04 seconds

 5	smalldogmall.com	14.45 KB	1.22 seconds	0.08 seconds
 6	208.85.243.59		14.45 KB	1.2 seconds	0.08 seconds

 7	maryannelive.com	39.23 KB	1.47 seconds	0.04 seconds
 8	208.85.243.57		39.23 KB	1.11 seconds	0.03 seconds</pre>
</td>
</tr>
</tbody>
</table>
<table border="0" align="center">
<tbody>
<tr>
<td><span><strong>Code:</strong></span></td>
</tr>
</tbody>
</table>
<table border="0" align="center">
<tbody>
<tr>
<td>
<pre> 6:27pm

 #
 	 Domain name 	Size 	Load Time 	Average Speed per KB
 1	planetherbs.com		47.43 KB	2.02 seconds	0.04 seconds
 2	208.85.243.55		45.24 KB	0.74 seconds	0.02 seconds

 3	b-naturals.com		23.15 KB	2.69 seconds	0.12 seconds
 4	208.85.243.58		23.15 KB	1.94 seconds	0.08 seconds

 5	smalldogmall.com	14.45 KB	1.28 seconds	0.09 seconds
 6	208.85.243.59		14.45 KB	2.26 seconds	0.16 seconds

 7	maryannelive.com	39.23 KB	1.48 seconds	0.04 seconds
 8	208.85.243.57		39.23 KB	1.16 seconds	0.03 seconds</pre>
</td>
</tr>
</tbody>
</table>
<table border="0" align="center">
<tbody>
<tr>
<td><span><strong>Code:</strong></span></td>
</tr>
</tbody>
</table>
<table border="0" align="center">
<tbody>
<tr>
<td>
<pre> 6:29pm
 #
 	 Domain name 	Size 	Load Time 	Average Speed per KB
 1	planetherbs.com		47.5 KB		1.75 seconds	0.04 seconds
 2	208.85.243.55		45.33 KB	0.73 seconds	0.02 seconds

 3	b-naturals.com		23.15 KB	1.52 seconds	0.07 seconds
 4	208.85.243.58		23.15 KB	1.39 seconds	0.06 seconds

 5	smalldogmall.com	14.45 KB	1.49 seconds	0.1 seconds
 6	208.85.243.59		14.45 KB	1.26 seconds	0.09 seconds

 7	maryannelive.com	39.23 KB	1.17 seconds	0.03 seconds
 8	208.85.243.57		39.23 KB	1.27 seconds	0.03 seconds</pre>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.bogartcomputing.com/web-programming-answers/197/rackcloud-forum-post-or-move-off-rackcloud-or-ill-shoot-this-dog/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JoomlaPack Joomla Site Restore When Files are Too Large</title>
		<link>http://www.bogartcomputing.com/web-programming-answers/195/joomlapack-joomla-site-restore-when-files-are-too-large/</link>
		<comments>http://www.bogartcomputing.com/web-programming-answers/195/joomlapack-joomla-site-restore-when-files-are-too-large/#comments</comments>
		<pubDate>Sun, 20 Dec 2009 08:09:54 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Joomla]]></category>

		<guid isPermaLink="false">http://www.bogartcomputing.com/web-programming-answers/195/joomlapack-joomla-site-restore-when-files-are-too-large/</guid>
		<description><![CDATA[The database sql file in a JoomlaPack JPA file is stored in installation/sql/joomla.sql. The correct specs to upload large files into the Joomla LMS file library is .htaccess: php_value upload_max_filesize 100M php_value post_max_size 100M php_value memory_limit 2048M php_value max_execution_time 120 I gigantic Joomla sql file (205 MB) is possibly 135 MB jos_session. Don&#8217;t backup jos_session, [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>The database sql file in a JoomlaPack JPA file is stored in installation/sql/joomla.sql.</p>
<p>The correct specs to upload large files into the Joomla LMS file library is .htaccess:<br />
php_value upload_max_filesize 100M<br />
php_value post_max_size 100M<br />
php_value memory_limit 2048M<br />
php_value max_execution_time 120</p>
<p>I gigantic Joomla sql file (205 MB) is possibly 135 MB jos_session. Don&#8217;t backup jos_session, or, edit it out using Jujusoft JuJuEdit, or split the sql file into pieces using splitter.exe, then piece back the pieces you do want.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bogartcomputing.com/web-programming-answers/195/joomlapack-joomla-site-restore-when-files-are-too-large/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to Determine Home Page in Joomla index.php Template</title>
		<link>http://www.bogartcomputing.com/web-programming-answers/193/re-how-to-determine-home-page-in-joomla-index-php-template/</link>
		<comments>http://www.bogartcomputing.com/web-programming-answers/193/re-how-to-determine-home-page-in-joomla-index-php-template/#comments</comments>
		<pubDate>Thu, 03 Dec 2009 21:28:22 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Joomla]]></category>
		<category><![CDATA[Joomla Programmer]]></category>

		<guid isPermaLink="false">http://www.bogartcomputing.com/web-programming-answers/193/re-how-to-determine-home-page-in-joomla-index-php-template/</guid>
		<description><![CDATA[getVar( &#8216;view&#8217;, &#8221; ); if ( $pageoption == &#8216;frontpage&#8217; ) { $home=true;}else{$home=false;}]]></description>
			<content:encoded><![CDATA[<p></p><p>getVar( &#8216;view&#8217;, &#8221; );<br />
if ( $pageoption  == &#8216;frontpage&#8217; ) { $home=true;}else{$home=false;}</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bogartcomputing.com/web-programming-answers/193/re-how-to-determine-home-page-in-joomla-index-php-template/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
