<?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>the XCEPtion proves the rule &#187; PHP</title>
	<atom:link href="http://www.xcep.net/blog/tag/php/feed" rel="self" type="application/rss+xml" />
	<link>http://www.xcep.net/blog</link>
	<description></description>
	<lastBuildDate>Mon, 06 Feb 2012 09:51:01 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>session_start(): ps_files_cleanup_dir: opendir(/var/lib/php5) failed</title>
		<link>http://www.xcep.net/blog/2012/01/21/session_start-ps_files_cleanup_dir-opendirvarlibphp5-failed/index.php</link>
		<comments>http://www.xcep.net/blog/2012/01/21/session_start-ps_files_cleanup_dir-opendirvarlibphp5-failed/index.php#comments</comments>
		<pubDate>Sat, 21 Jan 2012 10:33:16 +0000</pubDate>
		<dc:creator>tXptr</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Apache2]]></category>
		<category><![CDATA[Cronjob]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[problem]]></category>
		<category><![CDATA[session_start]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.xcep.net/blog/?p=503</guid>
		<description><![CDATA[Diese Fehlermeldung kann unter Umständen bei PHP auf einem Ubuntu bzw. Debian System auftreten, wenn der sogenannte Session Garbage Collector aufgrund von falschen Berechtigungen nicht laufen konnte. session_start(): ps_files_cleanup_dir: opendir(/var/lib/php5) failed: Permission denied (13) Auf Ubuntu / Debian System sollte ein separater Cronjob vorhanden sein, der diese Aufgabe übernimmt. Das Problem tritt beim einfachen starten [...]]]></description>
			<content:encoded><![CDATA[<p>Diese Fehlermeldung kann unter Umständen bei PHP auf einem Ubuntu bzw. Debian System auftreten, wenn der sogenannte Session Garbage Collector aufgrund von falschen Berechtigungen nicht laufen konnte.</p>

<div class="wp_syntax"><div class="code"><pre class="log" style="font-family:monospace;">session_start(): ps_files_cleanup_dir: opendir(/var/lib/php5) failed: Permission denied (13)</pre></div></div>

<p>Auf Ubuntu / Debian System sollte ein separater Cronjob vorhanden sein, der diese Aufgabe übernimmt.<br />
Das Problem tritt beim einfachen starten einer Session über &#8220;session_start()&#8221; auf. Hierfür gibt es zwei Lösungen, wobei die Zweite in meinen Augen die bessere Alternative ist.</p>
<p>Lösung 1 geht ganz schnell. Einfach ein &#8220;@&#8221; vor session_start() und schon kommt der Fehler nicht mehr.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">@</span><span style="color: #990000;">session_start</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Lösung 2 benötigt Zugriff auf die PHP.ini des Servers.<br />
Meistens liegen zwei PHP.ini-Dateien vor. Eine für Apache2 (/etc/php5/apache2) und eine für das CLI (/etc/php5/cli). In beiden Ordnern liegt eine PHP.ini. Einfach mit einem Editor öffnen und folgenden Wert von &#8220;1&#8243; (standardmäßig) auf &#8220;0&#8243; setzen.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">session<span style="color: #339933;">.</span>gc_probability <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span></pre></div></div>

<p>Danach den Apache neustarten bzw. -laden.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.xcep.net/blog/2012/01/21/session_start-ps_files_cleanup_dir-opendirvarlibphp5-failed/index.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP short open Tag per htaccess erlauben</title>
		<link>http://www.xcep.net/blog/2010/03/04/php-short-open-tag-per-htaccess-erlauben/index.php</link>
		<comments>http://www.xcep.net/blog/2010/03/04/php-short-open-tag-per-htaccess-erlauben/index.php#comments</comments>
		<pubDate>Thu, 04 Mar 2010 08:50:09 +0000</pubDate>
		<dc:creator>tXptr</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[htaccess]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.xcep.net/blog/?p=316</guid>
		<description><![CDATA[Irgendwann wird es soweit sein, dass der short open Tag in PHP nicht mehr aktiviert ist. Wenn man folgende Zeile in die htaccess einträgt, kann man die Kurzform weiter verwenden. php_flag short_open_tag on]]></description>
			<content:encoded><![CDATA[<p>Irgendwann wird es soweit sein, dass der short open Tag in PHP nicht mehr aktiviert ist. Wenn man folgende Zeile in die htaccess einträgt, kann man die Kurzform weiter verwenden.</p>

<div class="wp_syntax"><div class="code"><pre class="txt" style="font-family:monospace;">php_flag short_open_tag on</pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.xcep.net/blog/2010/03/04/php-short-open-tag-per-htaccess-erlauben/index.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[jQuery] Serialize List Plugin</title>
		<link>http://www.xcep.net/blog/2009/10/25/jquery-serialize-list-plugin/index.php</link>
		<comments>http://www.xcep.net/blog/2009/10/25/jquery-serialize-list-plugin/index.php#comments</comments>
		<pubDate>Sun, 25 Oct 2009 00:49:01 +0000</pubDate>
		<dc:creator>tXptr</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[List]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[Serialize]]></category>
		<category><![CDATA[UL]]></category>

		<guid isPermaLink="false">http://www.xcep.net/blog/?p=247</guid>
		<description><![CDATA[Mike Botsko hat ein nettes Plugin für jQuery geschrieben, mit dem eine unordered list &#60;ul&#62; &#8220;serialisiert&#8221; werden kann, um sie dann mit PHP o.ä. weiterverarbeiten zu können. Der Quelltext des Plugins sieht wie folgt aus: &#40;function&#40;$&#41;&#123; $.fn.serializelist = function&#40;options&#41; &#123; /** * jQuery Serialize List * Copyright (c) 2009 Mike Botsko, Botsko.net LLC * Licensed under [...]]]></description>
			<content:encoded><![CDATA[<p>Mike Botsko hat ein nettes Plugin für jQuery geschrieben, mit dem eine unordered list &lt;ul&gt; &#8220;serialisiert&#8221; werden kann, um sie dann mit PHP o.ä. weiterverarbeiten zu können.<br />
Der Quelltext des Plugins sieht wie folgt aus:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>$<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
    $.<span style="color: #660066;">fn</span>.<span style="color: #660066;">serializelist</span> <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>options<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #006600; font-style: italic;">/**
         * jQuery Serialize List
         * Copyright (c) 2009 Mike Botsko, Botsko.net LLC
         * Licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
         * Copyright notice and license must remain intact for legal use
         * Version 1
         *
         * Serialize an unordered or ordered list item. Optional ability
         * to determine which attributes are included. The serialization
         * will be read by PHP as a multidimensional array which you may
         * use for saving state.
         */</span>
&nbsp;
        <span style="color: #006600; font-style: italic;">// Extend the configuration options with user-provided</span>
        <span style="color: #003366; font-weight: bold;">var</span> defaults <span style="color: #339933;">=</span> <span style="color: #009900;">&#123;</span>
            prepend<span style="color: #339933;">:</span> <span style="color: #3366CC;">'ul'</span><span style="color: #339933;">,</span>
            is_child<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">false</span><span style="color: #339933;">,</span>
            attributes<span style="color: #339933;">:</span> <span style="color: #009900;">&#91;</span><span style="color: #3366CC;">'id'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'class'</span><span style="color: #009900;">&#93;</span>
        <span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
        <span style="color: #003366; font-weight: bold;">var</span> opts <span style="color: #339933;">=</span> $.<span style="color: #660066;">extend</span><span style="color: #009900;">&#40;</span>defaults<span style="color: #339933;">,</span> options<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #003366; font-weight: bold;">var</span> serialStr     <span style="color: #339933;">=</span> <span style="color: #3366CC;">''</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span>opts.<span style="color: #660066;">is_child</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span> opts.<span style="color: #660066;">prepend</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">'&amp;amp;'</span><span style="color: #339933;">+</span>opts.<span style="color: #660066;">prepend</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span>
&nbsp;
        <span style="color: #006600; font-style: italic;">// Begin the core plugin</span>
        <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">each</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #003366; font-weight: bold;">var</span> ul_obj <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">this</span><span style="color: #339933;">;</span>
&nbsp;
            <span style="color: #003366; font-weight: bold;">var</span> li_count     <span style="color: #339933;">=</span> <span style="color: #CC0000;">0</span><span style="color: #339933;">;</span>
            $<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">children</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">each</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
&nbsp;
                <span style="color: #000066; font-weight: bold;">for</span><span style="color: #009900;">&#40;</span>att <span style="color: #000066; font-weight: bold;">in</span> opts.<span style="color: #660066;">attributes</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
                    serialStr <span style="color: #339933;">+=</span> opts.<span style="color: #660066;">prepend</span><span style="color: #339933;">+</span><span style="color: #3366CC;">'['</span><span style="color: #339933;">+</span>li_count<span style="color: #339933;">+</span><span style="color: #3366CC;">']['</span><span style="color: #339933;">+</span>opts.<span style="color: #660066;">attributes</span><span style="color: #009900;">&#91;</span>att<span style="color: #009900;">&#93;</span><span style="color: #339933;">+</span><span style="color: #3366CC;">']='</span><span style="color: #339933;">+</span>$<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">attr</span><span style="color: #009900;">&#40;</span>opts.<span style="color: #660066;">attributes</span><span style="color: #009900;">&#91;</span>att<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                <span style="color: #009900;">&#125;</span>
&nbsp;
                <span style="color: #006600; font-style: italic;">// append any children elements</span>
                <span style="color: #003366; font-weight: bold;">var</span> child_base <span style="color: #339933;">=</span> opts.<span style="color: #660066;">prepend</span><span style="color: #339933;">+</span><span style="color: #3366CC;">'['</span><span style="color: #339933;">+</span>li_count<span style="color: #339933;">+</span><span style="color: #3366CC;">'][children]'</span><span style="color: #339933;">;</span>
                $<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">children</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">each</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
                    <span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">tagName</span> <span style="color: #339933;">==</span> <span style="color: #3366CC;">'UL'</span> <span style="color: #339933;">||</span> <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">tagName</span> <span style="color: #339933;">==</span> <span style="color: #3366CC;">'OL'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
                        serialStr <span style="color: #339933;">+=</span> $<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">serializelist</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span><span style="color: #3366CC;">'prepend'</span><span style="color: #339933;">:</span> child_base<span style="color: #339933;">,</span> <span style="color: #3366CC;">'is_child'</span><span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">true</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                    <span style="color: #009900;">&#125;</span>
                <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                li_count<span style="color: #339933;">++;</span>
            <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000066; font-weight: bold;">return</span><span style="color: #009900;">&#40;</span>serialStr<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span>jQuery<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Der Aufruf erfolgt über folgenden Befehl:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span>document<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">ready</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
    $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'ul'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">serializelist</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.xcep.net/blog/2009/10/25/jquery-serialize-list-plugin/index.php/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Aptana Studio 1.5</title>
		<link>http://www.xcep.net/blog/2009/07/08/aptana-studio-1-5/index.php</link>
		<comments>http://www.xcep.net/blog/2009/07/08/aptana-studio-1-5/index.php#comments</comments>
		<pubDate>Wed, 08 Jul 2009 21:49:41 +0000</pubDate>
		<dc:creator>tXptr</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Aptana Studio]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Speicher]]></category>

		<guid isPermaLink="false">http://www.xcep.net/blog/?p=194</guid>
		<description><![CDATA[Vor einer Stunde habe ich bei Twitter gelesen, dass Version 1.5 der &#8220;Spitzen-IDE&#8221; Aptana erschienen ist. Soeben habe ich mir die neue Version installiert. Basis ist die neuste Eclipse Version 3.5 Es soll weitreichende Verbesserungen in der Geschwindigkeit geben, weniger Speicher in Anspruch genommen werden sowie 64bit Support ist gewährleistet. Ich bin gespannt, wie sich [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-195 logo" title="aptana_studio_logo" src="http://www.xcep.net/blog/wp-content/2009/07/aptana_studio_logo.png" alt="aptana_studio_logo" width="165" height="58" />Vor einer Stunde habe ich bei Twitter gelesen, dass Version 1.5 der &#8220;Spitzen-IDE&#8221; Aptana erschienen ist.<br />
Soeben habe ich mir die neue Version installiert.</p>
<p>Basis ist die neuste Eclipse Version 3.5<br />
Es soll weitreichende Verbesserungen in der Geschwindigkeit geben, weniger Speicher in Anspruch genommen werden sowie 64bit Support ist gewährleistet. Ich bin gespannt, wie sich diese Verbesserungen in der täglichen Nutzung bemerkbar machen.</p>
<p><a href="http://www.aptana.com/studio/download" target="_blank">Download unter http://www.aptana.com/studio/download</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.xcep.net/blog/2009/07/08/aptana-studio-1-5/index.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[SERVER] PEAR und Confixx</title>
		<link>http://www.xcep.net/blog/2009/05/29/server-pear-und-confixx/index.php</link>
		<comments>http://www.xcep.net/blog/2009/05/29/server-pear-und-confixx/index.php#comments</comments>
		<pubDate>Fri, 29 May 2009 11:52:53 +0000</pubDate>
		<dc:creator>tXptr</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Confixx]]></category>
		<category><![CDATA[httpd Spezial]]></category>
		<category><![CDATA[PEAR]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Server]]></category>

		<guid isPermaLink="false">http://www.xcep.net/blog/?p=128</guid>
		<description><![CDATA[Um PEAR auf einem Server mit Confixx 3 Verwaltung nutzen zu können, sollten folgende Schritte zu einem funktionierenden Ergebnis führen: (Ich  gehe von einem Server mit Ubuntu Betriebssystem aus) apt-get install php-pear Danach liegt PEAR im Verzeichnis /usr/share/php/ Nun kann man über die Konsole noch zusätzliche PEAR-Pakete installieren. Um PEAR auf den verschiedenen &#8220;web&#8217;s&#8221; von [...]]]></description>
			<content:encoded><![CDATA[<p>Um PEAR auf einem Server mit Confixx 3 Verwaltung nutzen zu können, sollten folgende Schritte zu einem funktionierenden Ergebnis führen:<br />
(Ich  gehe von einem Server mit Ubuntu Betriebssystem aus)</p>

<div class="wp_syntax"><div class="code"><pre class="ini" style="font-family:monospace;">apt-get install php-pear</pre></div></div>

<p>Danach liegt PEAR im Verzeichnis /usr/share/php/<br />
Nun kann man über die Konsole noch zusätzliche PEAR-Pakete installieren.</p>
<p>Um PEAR auf den verschiedenen &#8220;web&#8217;s&#8221; von Confixx verfügbar zu machen, geht man im Confixx-Admin-Bereich auf &#8220;Einstellungen&#8221; &#8211;&gt; &#8220;htttpd Spezial&#8221;. Wählt dann &#8220;Einen Kunden ändern&#8221;. Danach das entsprechende &#8220;web&#8221; aus der Liste &#8220;wählen&#8221;. Jetzt auf &#8220;Erweiterter Modus&#8221; klicken und in das Textfeld folgenden Code einfügen (X hinter web steht für die Nummer des &#8220;web&#8221;):</p>

<div class="wp_syntax"><div class="code"><pre class="ini" style="font-family:monospace;">php_admin_value include_path .:/var/www/webX/html/:/var/www/webX/phptmp/:/var/www/webX/files/:/var/www/webX/atd/:/usr/share/php/
php_admin_value safe_mode_exec_dir /usr/share/php/
php_admin_value safe_mode_include_dir /usr/share/php/</pre></div></div>

<p>Beim Speichern darauf achten, dass folgender Eintrag ausgewählt ist: &#8220;<label for="ueberschreibenid_ja">für alle Domains des Kunden setzen</label>&#8220;. Jetzt wartet man entweder ein paar Minuten bis Confixx die Einstellungen übernimmt und neu lädt oder man geht in die &#8220;Update Intervalle&#8221; und führt einen &#8220;Reload&#8221; direkt aus. Zur Sicherheit empfehle ich allerdings noch:</p>

<div class="wp_syntax"><div class="code"><pre class="ini" style="font-family:monospace;">/etc/init.d/apache2 restart</pre></div></div>

<p>Nun kann man PEAR trotz eingeschaltetem Safe-Mode ganz normal benutzen. Um zum Beispiel den Spreadsheet Excel Writer zu nutzen, trägt man in die entsprechende PHP-Datei einfach nur folgendes ein:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">require_once</span> <span style="color: #0000ff;">'Spreadsheet/Excel/Writer.php'</span><span style="color: #339933;">;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.xcep.net/blog/2009/05/29/server-pear-und-confixx/index.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[HOWTO] Das Fenster einer ausgeführten Batch-Datei verstecken (Cronjob)</title>
		<link>http://www.xcep.net/blog/2009/05/24/howto-das-fenster-einer-ausgefuhrten-batch-datei-verstecken-cronjob/index.php</link>
		<comments>http://www.xcep.net/blog/2009/05/24/howto-das-fenster-einer-ausgefuhrten-batch-datei-verstecken-cronjob/index.php#comments</comments>
		<pubDate>Sun, 24 May 2009 13:13:41 +0000</pubDate>
		<dc:creator>tXptr</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Batch]]></category>
		<category><![CDATA[Cronjob]]></category>
		<category><![CDATA[Fenster]]></category>
		<category><![CDATA[Geplante Task]]></category>
		<category><![CDATA[Hintergrund]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[VBScript]]></category>
		<category><![CDATA[verstecken]]></category>
		<category><![CDATA[XAMPP]]></category>

		<guid isPermaLink="false">http://www.xcep.net/blog/?p=120</guid>
		<description><![CDATA[Um das Fenster einer Batch-Datei zu verstecken bzw. um eine Batch Datei im Hintergrund auszuführen, benötigt man eine kleine VBScript Datei, die das Verstecken des Fensters übernimmt. Eine Anwendungsfall hierfür wäre zum Beispiel das Ausführen eines Cronjobs auf einer lokalen PHP Entwicklungsumgebung mit einem &#8220;XAMPP-Server&#8221;. Zunächst wird die Batch-Datei erstellt, die das PHP-Skript über die [...]]]></description>
			<content:encoded><![CDATA[<p>Um das Fenster einer Batch-Datei zu verstecken bzw. um eine Batch Datei im Hintergrund auszuführen, benötigt man eine kleine VBScript Datei, die das Verstecken des Fensters übernimmt.<br />
Eine Anwendungsfall hierfür wäre zum Beispiel das Ausführen eines Cronjobs auf einer lokalen PHP Entwicklungsumgebung mit einem &#8220;XAMPP-Server&#8221;.<br />
Zunächst wird die Batch-Datei erstellt, die das PHP-Skript über die &#8220;php-win.exe&#8221; des Servers aufruft. Ich nenne sie einfach mal &#8220;cron.bat&#8221; mit folgendem Inhalt:</p>

<div class="wp_syntax"><div class="code"><pre class="ini" style="font-family:monospace;">X:\<span style="color: #000066; font-weight:bold;"><span style="">&#91;</span>PFAD-ZUR-PHP-WIN.EXE<span style="">&#93;</span>\php-win.exe X:\<span style="">&#91;</span>PFAD-ZUR-PHP-DATEI-DIE-AUSGEFÜHRT-WERDEN-SOLL<span style="">&#93;</span></span>\jobs.php</pre></div></div>

<p>Als nächstes braucht man noch die VBScript Datei, um das Fenster der Batch-Datei zu verstecken. Ich nenne sie &#8220;hidden.vbs&#8221; und der Inhalt sieht wie folgt aus:</p>

<div class="wp_syntax"><div class="code"><pre class="vb" style="font-family:monospace;"><span style="color: #E56717; font-weight: bold;">CreateObject</span>(<span style="color: #800000;">&quot;Wscript.Shell&quot;</span>).Run <span style="color: #800000;">&quot;&quot;</span><span style="color: #800000;">&quot;&quot;</span> &amp;amp; WScript.Arguments(0) &amp;amp; <span style="color: #800000;">&quot;&quot;</span><span style="color: #800000;">&quot;&quot;</span>, 0, <span style="color: #00C2FF; font-weight: bold;">False</span></pre></div></div>

<p>Wenn man jetzt unter &#8220;START -&gt; Ausführen&#8221; folgendes eingibt, wird die Batch-Datei ausgeführt aber ohne, dass man ein Fenster sieht:</p>

<div class="wp_syntax"><div class="code"><pre class="ini" style="font-family:monospace;">wscript.exe <span style="color: #933;">&quot;X:\[PFAD-ZUR-HIDDEN.VBS]\hidden.vbs&quot;</span> <span style="color: #933;">&quot;X:\[PFAD-ZUR-BATCH-DATEI]\cron.bat&quot;</span></pre></div></div>

<p>Diesen Befehl kann man jetzt zum Beispiel als &#8220;Geplante Task&#8221; in Windows alle 5 Minuten ausführen lassen und erreicht dadurch eine in meinen Augen einfache Cronjob-Lösung für eine lokale Entwicklungsumgebung ohne zusätzliche Software.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.xcep.net/blog/2009/05/24/howto-das-fenster-einer-ausgefuhrten-batch-datei-verstecken-cronjob/index.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[SERVER] mod_rewrite auf Strato vServer einrichten (openSUSE)</title>
		<link>http://www.xcep.net/blog/2009/02/09/server-mod_rewrite-auf-strato-vserver-einrichten-opensuse/index.php</link>
		<comments>http://www.xcep.net/blog/2009/02/09/server-mod_rewrite-auf-strato-vserver-einrichten-opensuse/index.php#comments</comments>
		<pubDate>Mon, 09 Feb 2009 10:40:56 +0000</pubDate>
		<dc:creator>tXptr</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Apache2]]></category>
		<category><![CDATA[mod_rewrite]]></category>
		<category><![CDATA[openSUSE]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Strato]]></category>
		<category><![CDATA[vServer]]></category>

		<guid isPermaLink="false">http://www.xcep.net/blog/?p=84</guid>
		<description><![CDATA[Um auf einem Starto vServer mit openSUSE die mod_rewrite Erweiterung einzurichten müssen folgende Schritte durchgeführt werden: Schritt 1: Per SSH mit dem Server verbinden Schritt 2: Das Verzeichnis &#8220;/etc/sysconfig&#8221; öffnen Schritt 3: Mit einem Editor eurer Wahl die Datei &#8220;apache2&#8243; öffnen Schritt 4: In der Datei folgende Zeile suchen: APACHE_MODULES=&#34; und vor dem Wort &#8220;php5&#8243; [...]]]></description>
			<content:encoded><![CDATA[<p>Um auf einem Starto vServer mit openSUSE die mod_rewrite Erweiterung einzurichten müssen folgende Schritte durchgeführt werden:</p>
<p>Schritt 1:<br />
Per SSH mit dem Server verbinden</p>
<p>Schritt 2:<br />
Das Verzeichnis &#8220;/etc/sysconfig&#8221; öffnen</p>
<p>Schritt 3:<br />
Mit einem Editor eurer Wahl die Datei &#8220;apache2&#8243; öffnen</p>
<p>Schritt 4:<br />
In der Datei folgende Zeile suchen:</p>

<div class="wp_syntax"><div class="code"><pre class="ini" style="font-family:monospace;"><span style="color: #000099;">APACHE_MODULES</span><span style="color: #000066; font-weight:bold;">=</span><span style="color: #933;">&quot;</span></pre></div></div>

<p>und vor dem Wort &#8220;php5&#8243;</p>

<div class="wp_syntax"><div class="code"><pre class="ini" style="font-family:monospace;">rewrite</pre></div></div>

<p>eintragen</p>
<p>Schritt 5:<br />
Datei schließen und den Apache2 Dienst neustarten</p>

<div class="wp_syntax"><div class="code"><pre class="ini" style="font-family:monospace;">/etc/init.d/apache2 restart</pre></div></div>

<p>Nun sollte mod_rewrite funktionieren.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.xcep.net/blog/2009/02/09/server-mod_rewrite-auf-strato-vserver-einrichten-opensuse/index.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[SERVER] PHP5 JSON Modul auf Strato vServer nachinstallieren (openSUSE)</title>
		<link>http://www.xcep.net/blog/2009/02/09/server-php5-json-modul-auf-strato-vserver-nachinstallieren-opensuse-2/index.php</link>
		<comments>http://www.xcep.net/blog/2009/02/09/server-php5-json-modul-auf-strato-vserver-nachinstallieren-opensuse-2/index.php#comments</comments>
		<pubDate>Mon, 09 Feb 2009 10:19:04 +0000</pubDate>
		<dc:creator>tXptr</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Apache2]]></category>
		<category><![CDATA[json]]></category>
		<category><![CDATA[Modul]]></category>
		<category><![CDATA[openSUSE]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[PHP5]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[SSH]]></category>
		<category><![CDATA[vServer]]></category>
		<category><![CDATA[yast2]]></category>

		<guid isPermaLink="false">http://www.xcep.net/blog/?p=80</guid>
		<description><![CDATA[Ich musste letztens auf einem vServer mit openSUSE das json Modul für PHP5 nachinstallieren. Folgende Schritte müssen durchgeführt werden: Schritt 1: Per SSH auf dem Server anmelden Schritt 2: Folgenden Befehl eingeben yast2 --install php5-json Dadurch wird das SUSE Setup Tool angewiesen, dass PHP5-JSON Paket herunterzuladen und zu installieren. Schritt 3: Danach noch /etc/init.d/apache2 restart [...]]]></description>
			<content:encoded><![CDATA[<p>Ich musste letztens auf einem vServer mit openSUSE das json Modul für PHP5 nachinstallieren.<br />
Folgende Schritte müssen durchgeführt werden:</p>
<p>Schritt 1:<br />
Per SSH auf dem Server anmelden</p>
<p>Schritt 2:<br />
Folgenden Befehl eingeben</p>

<div class="wp_syntax"><div class="code"><pre class="ini" style="font-family:monospace;">yast2 --install php5-json</pre></div></div>

<p>Dadurch wird das SUSE Setup Tool angewiesen, dass PHP5-JSON Paket herunterzuladen und zu installieren.</p>
<p>Schritt 3:<br />
Danach noch</p>

<div class="wp_syntax"><div class="code"><pre class="ini" style="font-family:monospace;">/etc/init.d/apache2 restart</pre></div></div>

<p>Um den Apache2 Dienst neuzustarten.</p>
<p>Jetzt sollte in der phpinfo das Modul &#8220;json&#8221; angezeigt werden.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.xcep.net/blog/2009/02/09/server-php5-json-modul-auf-strato-vserver-nachinstallieren-opensuse-2/index.php/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Release: Polarwind-Expeditions.com</title>
		<link>http://www.xcep.net/blog/2008/05/02/release-polarwind-expeditionscom/index.php</link>
		<comments>http://www.xcep.net/blog/2008/05/02/release-polarwind-expeditionscom/index.php#comments</comments>
		<pubDate>Fri, 02 May 2008 17:11:16 +0000</pubDate>
		<dc:creator>tXptr</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[WWW]]></category>
		<category><![CDATA[Antarktis]]></category>
		<category><![CDATA[Feuerland]]></category>
		<category><![CDATA[Kap Hoorn]]></category>
		<category><![CDATA[Münster]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Polarwind Expeditions]]></category>
		<category><![CDATA[Segelreisen]]></category>
		<category><![CDATA[Webseite]]></category>

		<guid isPermaLink="false">http://www.xcep.net/blog/?p=30</guid>
		<description><![CDATA[www.polarwind-expeditions.com Die Firma Polarwind-Expeditions aus Münster organisiert Segelreisen der ganz besonderen Art. Kap Hoorn, die Antarktis oder Feuerland sind Ziele, die man nicht jeden Tag mit einer Segelyacht ansteuert. Seit ca. 3 Wochen ist die neue Webseite nun schon online und wir finden immer wieder zusätzliche Features, die nachträglich eingebaut werden. Ich bedanke mich an [...]]]></description>
			<content:encoded><![CDATA[<div class="entry">
<p><a href="http://www.polarwind-expeditions.com/" target="_blank">www.polarwind-expeditions.com</a></p>
<p>Die Firma Polarwind-Expeditions aus Münster organisiert Segelreisen der ganz besonderen Art. Kap Hoorn, die Antarktis oder Feuerland sind Ziele, die man nicht jeden Tag mit einer Segelyacht ansteuert. Seit ca. 3 Wochen ist die neue Webseite nun schon online und wir finden immer wieder zusätzliche Features, die nachträglich eingebaut werden. Ich bedanke mich an dieser Stelle schon mal für die tolle Zusammenarbeit!!</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.xcep.net/blog/2008/05/02/release-polarwind-expeditionscom/index.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Maps auf lokaler Entwicklungsumgebung</title>
		<link>http://www.xcep.net/blog/2008/04/15/google-maps-auf-lokaler-entwicklungsumgebung/index.php</link>
		<comments>http://www.xcep.net/blog/2008/04/15/google-maps-auf-lokaler-entwicklungsumgebung/index.php#comments</comments>
		<pubDate>Tue, 15 Apr 2008 21:26:01 +0000</pubDate>
		<dc:creator>tXptr</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Hinweis]]></category>
		<category><![CDATA[Key]]></category>
		<category><![CDATA[localhost]]></category>
		<category><![CDATA[Maps]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.xcep.net/blog/?p=33</guid>
		<description><![CDATA[Ich entwickle und teste meine Projekte größtenteils erstmal in einer lokalen Umgebung bevor sie ins weltweite Netz gelangen. Ab und zu kommt es dann auch mal vor, dass ich eine Google Map irgendwo einbinden will. Anscheinend hat sich bei Google in letzter Zeit etwas im Bereich der API Keys getan. Bisher war es überhaupt kein [...]]]></description>
			<content:encoded><![CDATA[<div class="entry">
<p>Ich entwickle und teste meine Projekte größtenteils erstmal in einer lokalen Umgebung bevor sie ins weltweite Netz gelangen. Ab und zu kommt es dann auch mal vor, dass ich eine <a title="Google Maps" href="http://maps.google.de/" target="_blank">Google Map</a> irgendwo einbinden will. Anscheinend hat sich bei <a title="Google" href="http://www.google.de/" target="_blank">Google</a> in letzter Zeit etwas im Bereich der API Keys getan. Bisher war es überhaupt kein Problem in einer lokalen Umgebung (http://localhost/xcep/) eine <a title="Google Maps" href="http://maps.google.de/" target="_blank">Google Map</a> mit einem API Key für die “zukünftige Domain” des Projektes (<a title="xcep.net" href="../../" target="_blank">http://www.xcep.net</a>) zu verwenden. Doch heute wurde ich eines Besseren belehrt. Beim Einbinden einer Google Static Map wurde diese nicht angezeigt. Ich benutzte einen Key für http://www.xcep.net/. Nach langem forschen und probieren habe ich mir einfach spaßeshalber über die <a title="Google Maps API Key" href="http://code.google.com/apis/maps/signup.html" target="_blank">Google Maps API Key Generierung</a> einen Key für http://localhost/ erstellen lassen. Und siehe da &#8211; sofort läuft alles wie gewünscht!</p>
<p>Also mein Hinweis für alle, die sich diesen Ärger ersparen wollen:<br />
Wenn ihr lokal entwickelt, braucht ihr auch einen API Key für localhost. Echt nervig. Hat aber wohl seinen Sinn und Zweck.</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.xcep.net/blog/2008/04/15/google-maps-auf-lokaler-entwicklungsumgebung/index.php/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

