<?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>兔子窝边草 &#187; ZendOptimizer</title>
	<atom:link href="http://yongzou.com/tag/zendoptimizer/feed/" rel="self" type="application/rss+xml" />
	<link>http://yongzou.com</link>
	<description>“Unless you try to do something beyond what you have already mastered, you will never grow.” - Ralph Waldo Emerson</description>
	<lastBuildDate>Sun, 09 Jan 2011 13:49:35 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
		<item>
		<title>Make ZendOptimizer work with SELinux</title>
		<link>http://yongzou.com/make-zendoptimizer-work-with-selinux-21/</link>
		<comments>http://yongzou.com/make-zendoptimizer-work-with-selinux-21/#comments</comments>
		<pubDate>Sat, 31 Jan 2009 16:10:00 +0000</pubDate>
		<dc:creator>Zou Yong</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[selinux]]></category>
		<category><![CDATA[ZendOptimizer]]></category>

		<guid isPermaLink="false">http://yongzou.com/make-zendoptimizer-work-with-selinux-21/</guid>
		<description><![CDATA[以前必须吧SELinux关了才能用ZendOptimizer，昨天研究了一下，终于让ZendOptimizer和SELinux能一起工作了~~ Zend Optimizer 配置如下： [Zend] zend_extension_manager.optimizer=/usr/local/Zend/lib/Optimizer-3.3.3 zend_extension_manager.optimizer_ts=/usr/local/Zend/lib/Optimizer_TS-3.3.3 zend_optimizer.version=3.3.3 zend_optimizer.optimization_level=1023 zend_optimizer.enable_loader = 0 zend_optimizer.disable_licensing=1 zend_optimizer.obfuscation_level_support=0 zend_extension=/usr/local/Zend/lib/ZendExtensionManager.so With default install of ZendOptimizer-3.3, SELinux enabled, ZendOptimizer can’t be load. php -v: Failed loading /usr/local/Zend/lib/Optimizer-3.3.3/php-5.2.x/ZendOptimizer.so:&#160; /usr/local/Zend/lib/Optimizer-3.3.3/php-5.2.x/ZendOptimizer.so: cannot restore segment prot after reloc: Permission denied &#8230; <a href="http://yongzou.com/make-zendoptimizer-work-with-selinux-21/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>以前必须吧SELinux关了才能用ZendOptimizer，昨天研究了一下，终于让ZendOptimizer和SELinux能一起工作了~~</p>
<p>Zend Optimizer 配置如下：    <br />[Zend]     <br />zend_extension_manager.optimizer=/usr/local/Zend/lib/Optimizer-3.3.3     <br />zend_extension_manager.optimizer_ts=/usr/local/Zend/lib/Optimizer_TS-3.3.3     <br />zend_optimizer.version=3.3.3     <br />zend_optimizer.optimization_level=1023     <br />zend_optimizer.enable_loader = 0     <br />zend_optimizer.disable_licensing=1     <br />zend_optimizer.obfuscation_level_support=0     <br />zend_extension=/usr/local/Zend/lib/ZendExtensionManager.so</p>
<p>With default install of ZendOptimizer-3.3, SELinux enabled, ZendOptimizer can’t be load.</p>
<p>php -v: </p>
<p><strong>Failed loading /usr/local/Zend/lib/Optimizer-3.3.3/php-5.2.x/ZendOptimizer.so:&#160; /usr/local/Zend/lib/Optimizer-3.3.3/php-5.2.x/ZendOptimizer.so: cannot restore segment prot after reloc: Permission denied      <br /></strong>PHP 5.2.6 (cli) (built: May&#160; 5 2008 10:32:59)     <br />Copyright (c) 1997-2008 The PHP Group     <br />Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies     <br />&#160;&#160;&#160; with Zend Extension Manager v1.2.2, Copyright (c) 2003-2007, by Zend Technologies </p>
<p>cat /var/log/httpd/error_log    <br /><strong>Failed loading /usr/local/Zend/lib/ZendExtensionManager.so:&#160; /usr/local/Zend/lib/ZendExtensionManager.so: failed to map segment from shared object: Access Denied </strong></p>
<h2>How to enable ZendOptimizer work with SELinux: </h2>
<p> <span id="more-21"></span>
<ol>
<li>
<h3>1. Change context of ZendOptimizer.so and ZendExtensionManager.so </h3>
</li>
<li>
<p>if your php compiled with threadsafe, change the xxx_TS.so instead.</p>
</li>
</ol>
<p><strong>chcon -t textrel_shlib_t &#8216;/usr/local/Zend/lib/Optimizer-3.3.3/php-5.2.x/ZendOptimizer.so&#8217;      <br />semanage fcontext -a -t textrel_shlib_t &#8216;/usr/local/Zend/lib/Optimizer-3.3.3/php-5.2.x/ZendOptimizer.so&#8217; </strong></p>
<p><strong>chcon -t textrel_shlib_t &#8216;/usr/local/Zend/lib/ZendExtensionManager.so&#8217;      <br />semanage fcontext -a -t textrel_shlib_t &#8216;/usr/local/Zend/lib/ZendExtensionManager.so&#8217; </strong></p>
<ol>
<li>
<h3>2. vim zend_optimizer.te, copy the following content</h3>
</li>
</ol>
<p>module zend_optimizer 1.0; </p>
<p>require {    <br />&#160;&#160;&#160; type httpd_t;     <br />&#160;&#160;&#160; class process { execstack execmem execheap };     <br />}     <br />#============= httpd_t ==============     <br />allow httpd_t self:process { execstack execmem execheap }; </p>
<ol>
<li>
<h3>3. compile :</h3>
<p>checkmodule -M -m -o zend_optimizer.mod zend_optimizer.te </li>
<li>
<h3>4. create policy package:</h3>
</li>
</ol>
<p>semodule_package -o zend_optimizer.pp -m zend_optimizer.mod </p>
<ol>
<li>
<h3>5. install module:</h3>
<p>semodule -i zend_optimizer.pp </li>
</ol>
<p>service httpd restart </p>
<p>reference</p>
<p>http://docs.fedoraproject.org/selinux-faq-fc5/#id2961385</p>
]]></content:encoded>
			<wfw:commentRss>http://yongzou.com/make-zendoptimizer-work-with-selinux-21/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

