<?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>射日工作室</title>
	<atom:link href="http://www.shootsoft.net/feed" rel="self" type="application/rss+xml" />
	<link>http://www.shootsoft.net</link>
	<description>开源软件开发</description>
	<lastBuildDate>Sat, 12 May 2012 11:59:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>LuManager单独安装mysqli手记</title>
		<link>http://www.shootsoft.net/174</link>
		<comments>http://www.shootsoft.net/174#comments</comments>
		<pubDate>Sat, 12 May 2012 11:59:31 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[LuManager]]></category>
		<category><![CDATA[mysqli]]></category>
		<category><![CDATA[mysqli源码]]></category>
		<category><![CDATA[单独安装mysqli]]></category>

		<guid isPermaLink="false">http://www.shootsoft.net/?p=174</guid>
		<description><![CDATA[在开始之前，首先试一下这个这个帖子里提到的方法 http://www.zijidelu.org/forum.php?mod=viewthread&#38;tid=46214 如果不行，按照下面的方法进行(不仅仅适用于LuManager，如果是自己编译安装的php也可以这么做)： 首先确定你正在使用的php版本以及php.ini的位置，LuManager自带了几个版本。如果是默认安装，应该是5.2.17。php.ini的位置应该是在 /usr/local/php_fcgi/lib/php.ini 要确定这些信息，可以自己编写一个 info.php  &#60;?php phpinfo(); ?&#62; 把文件存放到网站根目录，然后浏览一下。 比如 http://yourdomain.com/info.php 到上述帖子里提到的LuManager的安装源码包里，我的解压到了/root/zijidelu_install路径下 进入LuNamp的soft路径 cd /root/zijidelu_install/LuNamp/soft 用ls查看一下，应该有这个文件 ls php-5.2.17.tar.gz 解压缩 tar -zxvf php-5.2.17.tar.gz 进入mysqli的安装路径 cd php-5.2.17/ext/mysqli 这里是mysqli的源码，编译之前我们还需要借助phpize这个工具（感谢@一只猪同学的帮助:-)），它存在于你的php安装路径，比如 /usr/local/php_fcgi/bin/phpize 在当前路径下运行一下，看到如下提示： Configuring for: PHP Api Version:         20041225 Zend Module Api No:      20060613 Zend Extension Api No:   220060519 configure.in:3: warning: prefer named diversions configure.in:3: warning: prefer named diversions 继续运行下面这几个命令  ./configure -with-php-config=/usr/local/php_fcgi/bin/php-config -with-mysqli=/usr/local/mysql/bin/mysql_config make make install 最后会看到这个提示： Installing shared extensions:     /usr/local/php_fcgi/lib/php/extensions/no-debug-non-zts-20060613/ 说明安装成功。 从LuManager后台重启一下ngix（如果你只用Apache那就重启一下Apache） 再刷新一下info.php，搜索mysqli，如果还搜不到就得自己编辑一下php.ini了 编辑之前double check一下mysqli.so是不是已经安装到上述路径了 cd  /usr/local/php_fcgi/lib/php/extensions/no-debug-non-zts-20060613/ ls 如果看到mysqli.so就继续 vim /usr/local/php_fcgi/lib/php.ini 输入 /mysqli 然后回车，定位到这一行 [...]]]></description>
			<content:encoded><![CDATA[<p>在开始之前，首先试一下这个这个帖子里提到的方法</p>
<p><a href="http://www.zijidelu.org/forum.php?mod=viewthread&amp;tid=46214">http://www.zijidelu.org/forum.php?mod=viewthread&amp;tid=46214</a></p>
<p>如果不行，按照下面的方法进行(不仅仅适用于LuManager，如果是自己编译安装的php也可以这么做)：</p>
<p>首先确定你正在使用的php版本以及php.ini的位置，LuManager自带了几个版本。如果是默认安装，应该是5.2.17。php.ini的位置应该是在</p>
<p>/usr/local/php_fcgi/lib/php.ini</p>
<p>要确定这些信息，可以自己编写一个 info.php</p>
<blockquote><p> &lt;?php</p>
<p>phpinfo();</p>
<p>?&gt;</p></blockquote>
<p>把文件存放到网站根目录，然后浏览一下。</p>
<p>比如 <a href="http://yourdomain.com/info.php">http://yourdomain.com/info.php</a></p>
<p>到上述帖子里提到的LuManager的安装源码包里，我的解压到了/root/zijidelu_install路径下</p>
<p>进入LuNamp的soft路径</p>
<blockquote><p>cd /root/zijidelu_install/LuNamp/soft</p></blockquote>
<p>用ls查看一下，应该有这个文件</p>
<blockquote><p>ls php-5.2.17.tar.gz</p></blockquote>
<p>解压缩</p>
<blockquote><p>tar -zxvf php-5.2.17.tar.gz</p></blockquote>
<p>进入mysqli的安装路径</p>
<blockquote><p>cd php-5.2.17/ext/mysqli</p></blockquote>
<p>这里是mysqli的源码，编译之前我们还需要借助phpize这个工具（感谢<a title="一只猪的微博" href="http://t.qq.com/mohock" target="_blank">@一只猪</a>同学的帮助:-)），它存在于你的php安装路径，比如</p>
<blockquote><p>/usr/local/php_fcgi/bin/phpize</p></blockquote>
<p>在当前路径下运行一下，看到如下提示：</p>
<blockquote><p>Configuring for:</p>
<p>PHP Api Version:         20041225</p>
<p>Zend Module Api No:      20060613</p>
<p>Zend Extension Api No:   220060519</p>
<p>configure.in:3: warning: prefer named diversions</p>
<p>configure.in:3: warning: prefer named diversions</p></blockquote>
<p>继续运行下面这几个命令</p>
<blockquote><p> ./configure -with-php-config=/usr/local/php_fcgi/bin/php-config -with-mysqli=/usr/local/mysql/bin/mysql_config</p>
<p>make</p>
<p>make install</p></blockquote>
<p>最后会看到这个提示：</p>
<blockquote><p>Installing shared extensions:     /usr/local/php_fcgi/lib/php/extensions/no-debug-non-zts-20060613/</p></blockquote>
<p>说明安装成功。</p>
<p>从LuManager后台重启一下ngix（如果你只用Apache那就重启一下Apache）</p>
<p>再刷新一下info.php，搜索mysqli，如果还搜不到就得自己编辑一下php.ini了</p>
<p>编辑之前double check一下mysqli.so是不是已经安装到上述路径了</p>
<blockquote><p>cd  /usr/local/php_fcgi/lib/php/extensions/no-debug-non-zts-20060613/</p>
<p>ls</p></blockquote>
<p>如果看到mysqli.so就继续</p>
<blockquote><p>vim /usr/local/php_fcgi/lib/php.ini</p></blockquote>
<p>输入</p>
<blockquote><p>/mysqli</p></blockquote>
<p>然后回车，定位到这一行</p>
<blockquote><p>;extension=php_mysqli.dll</p></blockquote>
<p>输入i，进入编辑模式，然后在这之前或者之后加入一行</p>
<blockquote><p>extension=mysqli.so</p></blockquote>
<p>按下ESC，然后输入</p>
<blockquote><p>:wq</p></blockquote>
<p>如果对vim编辑不熟悉可以从LuManager后台在线编辑php.ini</p>
<p>保存之后重启一下ngix</p>
<p>再次查看info.php</p>
<h2 style="text-align: center; line-height: normal; widows: 2; text-transform: none; background-color: #ffffff; font-variant: normal; font-style: normal; text-indent: 0px; letter-spacing: normal; font-family: sans-serif; white-space: normal; orphans: 2; color: #000000; font-size: 20px; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><a name="module_mysqli"></a>mysqli</h2>
<p>&nbsp;</p>
<table class="ke-zeroborder" style="text-align: left; widows: 2; text-transform: none; background-color: #ffffff; text-indent: 0px; letter-spacing: normal; border-collapse: collapse; font: medium sans-serif; white-space: normal; orphans: 2; color: #000000; margin-left: auto; margin-right: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;" width="600" border="0" cellpadding="3">
<tbody>
<tr class="h" style="background-color: #9999cc; color: #000000; font-weight: bold;">
<th style="text-align: center !important; font-family: sans-serif; font-size: 12px; vertical-align: baseline; border-image: initial; border: #000000 1px solid;">MysqlI Support</th>
<th style="text-align: center !important; font-family: sans-serif; font-size: 12px; vertical-align: baseline; border-image: initial; border: #000000 1px solid;">enabled</th>
</tr>
<tr>
<td class="e" style="background-color: #ccccff; font-family: sans-serif; color: #000000; font-size: 12px; vertical-align: baseline; font-weight: bold; border-image: initial; border: #000000 1px solid;">Client API library version</td>
<td class="v" style="background-color: #cccccc; font-family: sans-serif; color: #000000; font-size: 12px; vertical-align: baseline; border-image: initial; border: #000000 1px solid;">5.1.56</td>
</tr>
<tr>
<td class="e" style="background-color: #ccccff; font-family: sans-serif; color: #000000; font-size: 12px; vertical-align: baseline; font-weight: bold; border-image: initial; border: #000000 1px solid;">Client API header version</td>
<td class="v" style="background-color: #cccccc; font-family: sans-serif; color: #000000; font-size: 12px; vertical-align: baseline; border-image: initial; border: #000000 1px solid;">5.1.56</td>
</tr>
<tr>
<td class="e" style="background-color: #ccccff; font-family: sans-serif; color: #000000; font-size: 12px; vertical-align: baseline; font-weight: bold; border-image: initial; border: #000000 1px solid;">MYSQLI_SOCKET</td>
<td class="v" style="background-color: #cccccc; font-family: sans-serif; color: #000000; font-size: 12px; vertical-align: baseline; border-image: initial; border: #000000 1px solid;">/tmp/mysql.sock</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shootsoft.net/174/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>发布SAE Storage批量上传工具[开源]</title>
		<link>http://www.shootsoft.net/162</link>
		<comments>http://www.shootsoft.net/162#comments</comments>
		<pubDate>Wed, 28 Mar 2012 14:25:04 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[SAE Storage]]></category>
		<category><![CDATA[批量上传]]></category>

		<guid isPermaLink="false">http://www.shootsoft.net/?p=162</guid>
		<description><![CDATA[最近云计算如火如荼，于是也忍不住去尝了尝鲜。SAE（Sina App Engine）是新浪推出的云计算平台，直接用微博账号就能登录，绑定手机号以后就可以开始使用了，支持PHP/Java/Python。一个比较有特色的是应用程序商店，逛了一圈发现有Wordpress，于是动起了把本站迁移到SAE的念头。上网搜了一圈，发现这篇教程倒是很详细： http://www.mobai.org/2011/09/30/wp2sae/ 但是第一个评论就击退了念头： 看来wordpress的转入，确实很麻烦。尤其是图片的部分，5年，每年12个月，就要手动创建60的路径，然后每个路径再上传图片，这是很可怕的工作量了。。。唉。 难道没有好的办法了么？摸索了一番之后决定自己开发一个SAE Storage的批量上传工具。 原理很简单，搭建Wordpress之后，再通过SVN或者手动上传一个额外的PHP，这个PHP专门用于接收上传的文件，然后转存到Storage。路径与本地的或者原有路径保持一致即可。本地上传使用C#开发。源码托管在Github上：https://github.com/shootsoft/SAEMutipleUploads SAE Storage批量上传工具的使用教程参考这里。]]></description>
			<content:encoded><![CDATA[<p>最近云计算如火如荼，于是也忍不住去尝了尝鲜。SAE（Sina App Engine）是新浪推出的云计算平台，直接用微博账号就能登录，绑定手机号以后就可以开始使用了，支持PHP/Java/Python。一个比较有特色的是应用程序商店，逛了一圈发现有Wordpress，于是动起了把本站迁移到SAE的念头。上网搜了一圈，发现这篇教程倒是很详细：</p>
<blockquote><p><a href="http://www.mobai.org/2011/09/30/wp2sae/" data-ke-src="http://www.mobai.org/2011/09/30/wp2sae/">http://www.mobai.org/2011/09/30/wp2sae/</a></p></blockquote>
<p>但是第一个评论就击退了念头：</p>
<blockquote><p>看来wordpress的转入，确实很麻烦。尤其是图片的部分，5年，每年12个月，就要手动创建60的路径，然后每个路径再上传图片，这是很可怕的工作量了。。。唉。</p></blockquote>
<p>难道没有好的办法了么？摸索了一番之后决定自己开发一个SAE Storage的批量上传工具。</p>
<p>原理很简单，搭建Wordpress之后，再通过SVN或者手动上传一个额外的PHP，这个PHP专门用于接收上传的文件，然后转存到Storage。路径与本地的或者原有路径保持一致即可。本地上传使用C#开发。源码托管在Github上：<a title="SAE Mutiple Upload" href="https://github.com/shootsoft/SAEMutipleUploads">https://github.com/shootsoft/SAEMutipleUploads</a></p>
<p style="text-align: center;"><a href="http://www.shootsoft.net/wp-content/uploads/2012/03/SAE.png"><img class="aligncenter  wp-image-156" title="SAE" src="http://www.shootsoft.net/wp-content/uploads/2012/03/SAE.png" alt="" width="483" height="174" /></a></p>
<p><a title="SAE Storage 批量上传工具教程" href="http://www.shootsoft.net/149/">SAE Storage批量上传工具的使用教程参考这里</a>。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shootsoft.net/162/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>SAE Storage批量上传工具使用教程</title>
		<link>http://www.shootsoft.net/149</link>
		<comments>http://www.shootsoft.net/149#comments</comments>
		<pubDate>Wed, 28 Mar 2012 14:18:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Documents]]></category>
		<category><![CDATA[SAE]]></category>
		<category><![CDATA[Sina App Engine]]></category>
		<category><![CDATA[Storage]]></category>
		<category><![CDATA[批量上传]]></category>
		<category><![CDATA[教程]]></category>

		<guid isPermaLink="false">http://www.shootsoft.net/?p=149</guid>
		<description><![CDATA[0.1 版本下载： https://github.com/downloads/shootsoft/SAEMutipleUploads/SAE%20Mutiple%20Uploads%200.1.7z 源码下载： https://github.com/shootsoft/SAEMutipleUploads 首先在本地编辑【SAE_PHP】目录下的【sae_mutiple_uploads.php】文件，重新设置密码。 在SAE上创建好自己的应用，如果你是从应用仓库安装的Wordpress，可以跳过这一步直接去上传PHP文件了；否则需要自己创建Storage服务的domain： 上传有很多种方法，可以使用SAE的发布工具，也可以使用SVN，这里介绍从网页上传的方法。 从【我的首页】进入应用程序的配置界面，选择代码管理： 从右边选择编辑代码，需要安全码验证： 在新打开的页面中，直接选择【上传文件】一个黄色的向上的箭头，选择【SAE_PHP】目录下的【sae_mutiple_uploads.php】。 打开【SAE Mutiple Uploads.exe】 【上传文件接收地址】指的就是刚才上传的php，假如你上传到了根目录，你的应用程序叫 testapp，那么这里就应该填 http://testapp.sinaapp.com/sae_mutiple_uploads.php 【命名空间】指Storage的Domain名称。 【密码】是第一步配置的密码 【本地路径】指要批量上传的本地文件夹路径，支持多级文件夹，上传过程会自己处理。 配置好后点击【上传】，等待完成即可。 最后不要忘记了删除那个批量上传文件的sae_mutiple_uploads.php。 &#160; &#160;]]></description>
			<content:encoded><![CDATA[<p>0.1 版本下载：</p>
<p><a href="https://github.com/downloads/shootsoft/SAEMutipleUploads/SAE%20Mutiple%20Uploads%200.1.7z" data-ke-src="https://github.com/downloads/shootsoft/SAEMutipleUploads/SAE%20Mutiple%20Uploads%200.1.7z">https://github.com/downloads/shootsoft/SAEMutipleUploads/SAE%20Mutiple%20Uploads%200.1.7z</a></p>
<p>源码下载：</p>
<p><a href="https://github.com/shootsoft/SAEMutipleUploads" data-ke-src="https://github.com/shootsoft/SAEMutipleUploads">https://github.com/shootsoft/SAEMutipleUploads</a></p>
<p>首先在本地编辑【SAE_PHP】目录下的【sae_mutiple_uploads.php】文件，重新设置密码。</p>
<p>在SAE上创建好自己的应用，如果你是从应用仓库安装的Wordpress，可以跳过这一步直接去上传PHP文件了；否则需要自己创建Storage服务的domain：</p>
<p><a href="http://www.shootsoft.net/wp-content/uploads/2012/03/Storage-Domain2.png"><img class="aligncenter size-full wp-image-152" title="Storage Domain" src="http://www.shootsoft.net/wp-content/uploads/2012/03/Storage-Domain2.png" alt="" width="319" height="183" /></a></p>
<p>上传有很多种方法，可以使用SAE的发布工具，也可以使用SVN，这里介绍从网页上传的方法。</p>
<p>从【我的首页】进入应用程序的配置界面，选择代码管理：</p>
<p style="text-align: center;"><a href="http://www.shootsoft.net/wp-content/uploads/2012/03/代码管理.png"><img class="aligncenter  wp-image-153" title="代码管理" src="http://www.shootsoft.net/wp-content/uploads/2012/03/代码管理.png" alt="" width="481" height="386" /></a></p>
<p>从右边选择编辑代码，需要安全码验证：</p>
<p style="text-align: center;"><a href="http://www.shootsoft.net/wp-content/uploads/2012/03/编辑代码.png"><img class="aligncenter  wp-image-154" title="编辑代码" src="http://www.shootsoft.net/wp-content/uploads/2012/03/编辑代码.png" alt="" width="489" height="57" /></a></p>
<p>在新打开的页面中，直接选择【上传文件】一个黄色的向上的箭头，选择【SAE_PHP】目录下的【sae_mutiple_uploads.php】。</p>
<p><a href="http://www.shootsoft.net/wp-content/uploads/2012/03/上传文件.png"><img class="aligncenter size-full wp-image-155" title="上传文件" src="http://www.shootsoft.net/wp-content/uploads/2012/03/上传文件.png" alt="" width="268" height="120" /></a></p>
<p>打开【SAE Mutiple Uploads.exe】</p>
<p style="text-align: center;"><a href="http://www.shootsoft.net/wp-content/uploads/2012/03/SAEMutipleUploads.png"><img class="aligncenter  wp-image-169" title="SAEMutipleUploads" src="http://www.shootsoft.net/wp-content/uploads/2012/03/SAEMutipleUploads.png" alt="" width="540" height="251" /></a></p>
<p>【上传文件接收地址】指的就是刚才上传的php，假如你上传到了根目录，你的应用程序叫 testapp，那么这里就应该填</p>
<p><a href="http://testapp.sinaapp.com/sae_upload_ramdom.php" data-ke-src="http://testapp.sinaapp.com/sae_upload_ramdom.php">http://testapp.sinaapp.com/sae_mutiple_uploads.php</a></p>
<p>【命名空间】指Storage的Domain名称。</p>
<p>【密码】是第一步配置的密码</p>
<p>【本地路径】指要批量上传的本地文件夹路径，支持多级文件夹，上传过程会自己处理。</p>
<p>配置好后点击【上传】，等待完成即可。</p>
<p><strong>最后不要忘记了删除那个批量上传文件的sae_mutiple_uploads.php。</strong></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shootsoft.net/149/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>[Erlang] Unable to load crypto library Windows下的解决办法</title>
		<link>http://www.shootsoft.net/147</link>
		<comments>http://www.shootsoft.net/147#comments</comments>
		<pubDate>Sun, 23 Oct 2011 06:35:51 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Erlang]]></category>
		<category><![CDATA[Unable to load crypto library]]></category>

		<guid isPermaLink="false">http://www.shootsoft.net/?p=147</guid>
		<description><![CDATA[在一台64位的Widnows2008上，安装了Erlang之后，运行erl，测试几条erlang语句，一切正常。但是在试图启动一个使用了SSL类库的应用程序时，出现了如下的提示： Unable to load crypto library. Failed with error: &#8220;load_failed, Failed to load NIF library c:/PROGRA~2/ERL58~1.2/lib/crypto-2.0.2/ priv/lib/crypto: &#8216;Unspecified error&#8217;&#8221; OpenSSL might not be installed on this system. &#8220;(pubSageService@Apptest2)1&#62; i =ERROR REPORT==== 21-Oct-2011::09:47:29 === The on_load function for module crypto returned {error, {load_failed, &#8220;Failed to load NIF library c: /PROGRA~2/ERL58~1.2/lib/crypto-2.0.2/priv/lib/crypto: &#8216;Unspecified error&#8217;&#8221;}} n(pubSageService@Apptest2)1&#62; it terminating in [...]]]></description>
			<content:encoded><![CDATA[<p>在一台64位的Widnows2008上，安装了Erlang之后，运行erl，测试几条erlang语句，一切正常。但是在试图启动一个使用了SSL类库的应用程序时，出现了如下的提示：</p>
<blockquote><p>Unable to load crypto library. Failed with error:</p>
<p>&#8220;load_failed, Failed to load NIF library c:/PROGRA~2/ERL58~1.2/lib/crypto-2.0.2/</p>
<p>priv/lib/crypto: &#8216;Unspecified error&#8217;&#8221;</p>
<p>OpenSSL might not be installed on this system.</p>
<p>&#8220;(pubSageService@Apptest2)1&gt; i</p>
<p>=ERROR REPORT==== 21-Oct-2011::09:47:29 ===</p>
<p>The on_load function for module crypto returned {error,</p>
<p>{load_failed,</p>
<p>&#8220;Failed to load NIF library c:</p>
<p>/PROGRA~2/ERL58~1.2/lib/crypto-2.0.2/priv/lib/crypto: &#8216;Unspecified error&#8217;&#8221;}}</p>
<p>n(pubSageService@Apptest2)1&gt; it terminating in do_boot&#8221;,{undef,[{crypto,start,[]</p>
<p>},{init,start_it,1},{init,start_em,1}]}}</p>
<p>&nbsp;</p>
<p>Crash dump was written to: erl_crash.dump</p>
<p>init terminating in do_boot ()</p></blockquote>
<p>该机器已经安装了64位的OpenSSL类库（下载<a href="http://www.slproweb.com/products/Win32OpenSSL.html">http://www.slproweb.com/products/Win32OpenSSL.html</a>）</p>
<p>Google之后找到了一篇Google Groups上面的讨论文章</p>
<p><a href="http://groups.google.com/group/erlang-programming/browse_thread/thread/288684b61116baf3">http://groups.google.com/group/erlang-programming/browse_thread/thread/288684b61116baf3</a></p>
<p>首先怀疑Win32的 OpenSSL类库安装的有问题，于是重新安装了一遍，之前安装的忘记最后一步是否选择了将OpenSSL的类库拷贝打到系统目录下（Windows\System32\）,重新安装的时候确认拷贝，但是启动仍然失败。</p>
<p>接下来又把那几个dll拷贝到Erlang的安装目录（就是上面的提示的那个目录）：</p>
<blockquote><p>c:/PROGRA~2/ERL58~1.2/lib/crypto-2.0.2/priv/lib/crypto</p></blockquote>
<p>这个是缩写的目录，实际是：</p>
<blockquote><p>C:\Program Files (x86)\erl5.8.2\lib\crypto-2.0.2\priv\lib</p></blockquote>
<p>这次换了个错误提示：</p>
<blockquote><p>Unable to load crypto library. Failed with error:</p>
<p>&#8220;load_failed, Failed to load NIF library c:/PROGRA~2/ERL58~1.2/lib/crypto-2.0.2/</p>
<p>priv/lib/crypto: &#8216;Unspecified error&#8217;&#8221;</p>
<p>OpenSSL might not be installed on this system.</p>
<p>&#8220;(pubSageService@Apptest2)1&gt; i</p>
<p>=ERROR REPORT==== 21-Oct-2011::09:47:29 ===</p>
<p>The on_load function for module crypto returned {error,</p>
<p>{load_failed,</p>
<p>&#8220;Failed to load NIF library c:</p>
<p>/PROGRA~2/ERL58~1.2/lib/crypto-2.0.2/priv/lib/crypto: &#8216;Unspecified error&#8217;&#8221;}}</p>
<p>n(pubSageService@Apptest2)1&gt; it terminating in do_boot&#8221;,{undef,[{crypto,start,[]</p>
<p>},{init,start_it,1},{init,start_em,1}]}}</p>
<p>&nbsp;</p>
<p>Crash dump was written to: erl_crash.dump</p>
<p>init terminating in do_boot ()</p></blockquote>
<p>又仔细看了一遍帖子，怀疑是64的OpenSSL和64位的Windows 2008不兼容，于是重新安装了一个32位的，一切正常~</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shootsoft.net/147/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>LuManager安装过程导入Mysql失败的解决办法</title>
		<link>http://www.shootsoft.net/138</link>
		<comments>http://www.shootsoft.net/138#comments</comments>
		<pubDate>Mon, 27 Jun 2011 12:12:14 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[LuManager]]></category>
		<category><![CDATA[MySQL安装失败]]></category>
		<category><![CDATA[解决办法]]></category>

		<guid isPermaLink="false">http://www.shootsoft.net/?p=138</guid>
		<description><![CDATA[LuManager是一个优秀的国产Linux服务器管理软件，集成了Apache，Nigix，MySQL，FTP，Bind，Memcache，PHP5等软件包，可以实现Apache与Nigix的一键切换，多服务器负载均衡，域名智能解析，用户管理，流量监测功能等。可以通过Web界面来管理整个服务器，还能一键安装DedeCMS，Discuz!等Web应用程序。 LuManager在安装和使用过程中可能碰到导入Mysql失败的情况。 一般有2种情况： 情况1 安装MySQL时出错 Mysql 安装成功，继续安装LuNamp1.0 Mysql was successfully installed! Continue&#8230; 已耗时：30 分钟 Runtime: 30 分钟 ERROR 2002 (HY000): Can&#8217;t connect to local MySQL server through socket &#8216;/tmp/mysql.sock&#8217; (2) MySQL数据导入不成功，可能是数据库没启动，或者是MySQL没安装成功，请重装一次试试！ Mysql data was not imported！ LuNamp安装失败 LuNamp was install failed 分析： 原来系统安装了一个MySQL，在系统原有MySQL没有停止服务的时候开始安装了LuManager，有可能是原有MySQL服务产生了影响。 解决： 杀死系统中正在运行的MySQL 方法1 如果你知道原有的MySQL服务器root用户密码，那么通过这个命令就能停止（忘记密码的看方法2）： mysqladmin -uroot -p&#8217;password&#8217; shutdown 注意： 1. /etc/init.d/mysql stop [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.zijidelu.org/">LuManager</a>是一个优秀的国产Linux服务器管理软件，集成了Apache，Nigix，MySQL，FTP，Bind，Memcache，PHP5等软件包，可以实现Apache与Nigix的一键切换，多服务器负载均衡，域名智能解析，用户管理，流量监测功能等。可以通过Web界面来管理整个服务器，还能一键安装DedeCMS，Discuz!等Web应用程序。</p>
<p>LuManager在安装和使用过程中可能碰到导入Mysql失败的情况。</p>
<p>一般有2种情况：</p>
<p>情况1 安装MySQL时出错</p>
<blockquote><p>Mysql 安装成功，继续安装LuNamp1.0</p>
<p>Mysql was successfully installed! Continue&#8230;</p>
<p>已耗时：30 分钟</p>
<p>Runtime: 30 分钟</p>
<p>ERROR 2002 (HY000): Can&#8217;t connect to local MySQL server through socket &#8216;/tmp/mysql.sock&#8217; (2)</p>
<p>MySQL数据导入不成功，可能是数据库没启动，或者是MySQL没安装成功，请重装一次试试！</p>
<p>Mysql data was not imported！</p>
<p>LuNamp安装失败</p>
<p>LuNamp was install failed</p></blockquote>
<p>分析：</p>
<p>原来系统安装了一个MySQL，在系统原有MySQL没有停止服务的时候开始安装了LuManager，有可能是原有MySQL服务产生了影响。</p>
<p>解决：</p>
<p>杀死系统中正在运行的MySQL</p>
<p>方法1</p>
<p>如果你知道原有的MySQL服务器root用户密码，那么通过这个命令就能停止（忘记密码的看方法2）：</p>
<blockquote><p>mysqladmin -uroot -p&#8217;password&#8217; shutdown</p></blockquote>
<p>注意：</p>
<p>1. /etc/init.d/mysql stop 并不是正确的停止mysql服务的方法！</p>
<p>2. 如果你试图通过 /usr/local/LuNamp/cmd 目录下的 mysql-stop 来停止服务，那么你可能会碰到如下提示：</p>
<blockquote><p>protest1:/usr/local/LuNamp/cmd# ./mysql-stop</p>
<p>1</p>
<p>MySQL manager or server PID file could not be found! failed!</p></blockquote>
<p>可以通过方法2来解决</p>
<p>方法2</p>
<p>首先确保当前是root用户，运行如下命令：</p>
<blockquote><p>protest1:/usr/local/LuNamp/cmd# ps -Af | grep mysqld</p></blockquote>
<p>返回结果如下（注意加粗的那一行，那个PID就是MySQL的进程ID）：</p>
<blockquote><p>root      6928     1  0 Jun21 ?        00:00:00 /bin/sh /usr/bin/mysqld_safe</p>
<p><strong>mysql    17427  6928  0 14:56 ?        00:00:00 /usr/sbin/mysqld &#8211;basedir=/usr &#8211;datadir=/var/lib/mysql &#8211;user=mysql &#8211;pid-file=/var/run/mysqld/mysqld.pid &#8211;skip-external-locking &#8211;port=3306 &#8211;socket=/var/run/mysqld/mysqld.sock</strong></p>
<p>root     17428  6928  0 14:56 ?        00:00:00 logger -p daemon.err -t mysqld_safe -i -t mysqld</p>
<p>root     17460 17340  0 14:58 pts/2    00:00:00 grep mysqld</p></blockquote>
<p>接着运行</p>
<blockquote><p>protest1:/usr/local/LuNamp/cmd#Kill 17427</p></blockquote>
<p>杀死了MySQL进程后，重新运行./zijidelu_install.sh就可以了</p>
<p>情况2 进入系统时出错，提示：</p>
<blockquote>
<p lang="en-US">Can&#8217;t connect to local MySQL server through socket &#8216;/tmp/mysql.sock&#8217;(2)</p>
</blockquote>
<p>截图：</p>
<p style="text-align: center;"><a href="http://www.shootsoft.net/wp-content/uploads/2011/06/5876921168_e9950bddfc.jpg"><img class="aligncenter size-full wp-image-141" title="LuManager登录MySQL错误" src="http://www.shootsoft.net/wp-content/uploads/2011/06/5876921168_e9950bddfc.jpg" alt="" width="500" height="194" /></a></p>
<p>解决方法：</p>
<p>首先参考情况1的方法1或者方法2来杀死当前正在运行的MySQL服务，然后以root用户身份进入</p>
<blockquote><p>/usr/local/LuNamp/cmd</p></blockquote>
<p>运行当前目录的mysql-start</p>
<blockquote><p>protest1:/usr/local/LuNamp/cmd#./mysql-start</p></blockquote>
<p>然后刷新LuManager的Web界面应该就能顺利进入了:-)</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shootsoft.net/138/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WinSCP跨Linux（多Linux台机器之间）拷贝传输文件</title>
		<link>http://www.shootsoft.net/137</link>
		<comments>http://www.shootsoft.net/137#comments</comments>
		<pubDate>Thu, 16 Jun 2011 14:24:20 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Linux拷贝文件]]></category>
		<category><![CDATA[WinSCP]]></category>
		<category><![CDATA[多台]]></category>

		<guid isPermaLink="false">http://www.shootsoft.net/137/</guid>
		<description><![CDATA[&#160; 这纯属一个使用技巧，找了很多Linux的Windows客户端，貌似都不能在同一个用户界面上跨机器拷贝传输文件，用来用去还是WinSCP顺手，以前跨机器传输的时候都是开多个窗口，拖放。今天偶然发现WinSCP也可以在同一个用户界面上跨机器拷贝传输文件。 &#160; 首先要确保WinSCP的工具栏&#8220;会话按钮&#8221;是显示状态，方便在多台Linux之间切换界面 点击&#8220;会话按钮&#8221;工具栏的倒数第二个按钮，可以登录更多的Linux机器（注意：要拷贝的文件的目标机器必须先在这里登录） 在某一台需要拷贝的文件上单击鼠标右键，选择&#8220;远程复制&#8221; 在新弹出的窗口中&#8220;目标会话&#8221;就可以选择其他的Linux机器以及对应的目录了。 缺点就是不能同时拷贝到多台机器，以及文件拷贝实际上是先拷贝到本地，再拷贝到远程]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<p style="margin:0in;font-size:11.0pt"><span lang="zh-CN" style="font-family:宋体">这纯属一个使用技巧，找了很多</span><span lang="en-US" style="font-family:Calibri">Linux</span><span lang="zh-CN" style="font-family:宋体">的</span><span lang="en-US" style="font-family:Calibri">Windows</span><span lang="zh-CN" style="font-family:宋体">客户端，貌似都不能在同一个用户界面上跨机器拷贝传输文件，用来用去还是</span><span lang="en-US" style="font-family:Calibri">WinSCP</span><span lang="zh-CN" style="font-family:宋体">顺手，以前跨机器传输的时候都是开多个窗口，拖放。今天偶然发现</span><span lang="en-US" style="font-family:Calibri">WinSCP</span><span lang="zh-CN" style="font-family:宋体">也可以在同一个用户界面上跨机器拷贝传输文件。</span></p>
<p style="margin:0in;font-family:宋体;font-size:11.0pt">&nbsp;</p>
<p style="margin:0in;font-size:11.0pt"><span lang="zh-CN" style="font-family:宋体">首先要确保</span><span lang="en-US" style="font-family:Calibri">WinSCP</span><span lang="zh-CN" style="font-family:宋体">的工具栏&ldquo;会话按钮&rdquo;是显示状态，方便在多台</span><span lang="en-US" style="font-family:Calibri">Linux</span><span lang="zh-CN" style="font-family:宋体">之间切换界面</span></p>
<p style="margin:0in;font-family:宋体;font-size:11.0pt"><a href="http://www.flickr.com/photos/63244076@N04/5839525910/" title="Flickr 上 model123 的 WinSCP会话按钮"><img alt="WinSCP会话按钮" height="458" src="http://farm4.static.flickr.com/3491/5839525910_bc8be23141.jpg" width="443" /></a></p>
<p style="margin:0in;font-size:11.0pt"><span lang="zh-CN" style="font-family:宋体">点击&ldquo;会话按钮&rdquo;工具栏的倒数第二个按钮，可以登录更多的</span><span lang="en-US" style="font-family:Calibri">Linux</span><span lang="zh-CN" style="font-family:宋体">机器（注意：要拷贝的文件的目标机器必须先在这里登录）</span></p>
<p style="margin:0in;font-family:宋体;font-size:11.0pt"><img alt="WinSCP打开更多会话" height="144" src="http://farm4.static.flickr.com/3134/5838974697_f95f92bdb3.jpg" width="280" /></p>
<p style="margin:0in;font-family:宋体;font-size:11.0pt">在某一台需要拷贝的文件上单击鼠标右键，选择&ldquo;远程复制&rdquo;</p>
<p style="margin:0in;font-family:宋体;font-size:11.0pt"><a href="http://www.flickr.com/photos/63244076@N04/5838974729/" title="Flickr 上 model123 的 WinSCP远程复制菜单"><img src="http://farm3.static.flickr.com/2727/5838974729_3996144034.jpg" width="329" height="267" alt="WinSCP远程复制菜单"></a></p>
<p style="margin:0in;font-size:11.0pt"><span lang="zh-CN" style="font-family:宋体">在新弹出的窗口中&ldquo;目标会话&rdquo;就可以选择其他的</span><span lang="en-US" style="font-family:Calibri">Linux</span><span lang="zh-CN" style="font-family:宋体">机器以及对应的目录了。</span></p>
<p style="margin:0in;font-family:宋体;font-size:11.0pt"><a href="http://www.flickr.com/photos/63244076@N04/5838974749/" title="Flickr 上 model123 的 WinSCP远程复制对话框"><img src="http://farm6.static.flickr.com/5119/5838974749_9f412d125a.jpg" width="336" height="211" alt="WinSCP远程复制对话框"></a></p>
<p style="margin:0in;font-family:宋体;font-size:11.0pt">缺点就是不能同时拷贝到多台机器，以及文件拷贝实际上是先拷贝到本地，再拷贝到远程</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shootsoft.net/137/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux下Erlang中无法运行odbc:start()的解决办法</title>
		<link>http://www.shootsoft.net/127</link>
		<comments>http://www.shootsoft.net/127#comments</comments>
		<pubDate>Mon, 13 Jun 2011 06:51:28 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Erlang]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[odbc:start()]]></category>
		<category><![CDATA[unixodbc-dev]]></category>

		<guid isPermaLink="false">http://www.shootsoft.net/?p=127</guid>
		<description><![CDATA[之前碰到过一次，但是当时是和ssl的问题一起解决的，所以再一次的疏忽了，Erlang安装的时候一定要确认所有需要的库都正确安装了。 错误情况是在erl环境中运行 odbc:start(). 的时候 抛出如下的异常： ** exception error: undefined function odbc:start/0 该异常的解决办法和《Erlang {&#8220;no such file or directory&#8221;,&#8221;crypto.app&#8221;}  的解决方法》类似首先确认linux下安装了如下的包： apt-get  install unixodbc unixodbc-dev 接着重新安装erlang解决。 参考:《Linux(Debian)下正确编译安装Erlang的方法》]]></description>
			<content:encoded><![CDATA[<p>之前碰到过一次，但是当时是和ssl的问题一起解决的，所以再一次的疏忽了，Erlang安装的时候一定要确认所有需要的库都正确安装了。</p>
<p>错误情况是在erl环境中运行 odbc:start(). 的时候</p>
<p>抛出如下的异常：</p>
<blockquote><p>** exception error: undefined function odbc:start/0</p></blockquote>
<p>该异常的解决办法和《<a title="Erlang {“no such file or directory”,”crypto.app”} 的解决方法" href="http://www.shootsoft.net/123/">Erlang {&#8220;no such file or directory&#8221;,&#8221;crypto.app&#8221;}  的解决方法</a>》类似首先确认linux下安装了如下的包：</p>
<blockquote><p>apt-get  install unixodbc unixodbc-dev</p></blockquote>
<p>接着重新<a title="安装Erlang" href="http://www.shootsoft.net/129/">安装erlang</a>解决。</p>
<p>参考:《<a title="Linux(Debian)下正确编译安装Erlang的方法" href="http://www.shootsoft.net/129/">Linux(Debian)下正确编译安装Erlang的方法</a>》</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shootsoft.net/127/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux(Debian)下正确编译安装Erlang的方法</title>
		<link>http://www.shootsoft.net/129</link>
		<comments>http://www.shootsoft.net/129#comments</comments>
		<pubDate>Mon, 13 Jun 2011 06:46:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Erlang]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[安装]]></category>

		<guid isPermaLink="false">http://www.shootsoft.net/?p=129</guid>
		<description><![CDATA[因为几次都碰到安装后某些类库无法使用的问题，总结了一下： apt-get install gcc g++ build-essential m4 libncurses5-dev  libssl-dev  flex unixodbc-dev fop  libwxbase2.8-dev libwxgtk2.8-dev libgl1-mesa-dev libglu1-mesa-dev libglut3-dev libncurses5-dev  libc6  unixodbc  gcj openssl xsltproc 还有一个 apt-get install sun-java6-jdk 如果这个包不能正确安装，说明更新源可能有问题，用编辑器打开/etc/apt/sources.list增加一个 deb http://http.us.debian.org/debian/ lenny main contrib non-free 然后保存关闭再次运行 apt-get update然后再安装，应该就没问题了。 库安装完成后在源码目录下 ./configure &#8211;prefix=/usr/ make make install 安装完成后输入erl就能使用最新的Erlang运行环境了 如果是直接apt-get install erlang的，就不用看这个了，我这个是erlang源码编译安装的说明。另外如果有错或者缺少某些类库，还请指出，谢谢。]]></description>
			<content:encoded><![CDATA[<p>因为几次都碰到安装后某些类库无法使用的问题，总结了一下：</p>
<blockquote><p>apt-get install gcc g++ build-essential m4 libncurses5-dev  libssl-dev  flex unixodbc-dev fop  libwxbase2.8-dev libwxgtk2.8-dev libgl1-mesa-dev libglu1-mesa-dev libglut3-dev libncurses5-dev  libc6  unixodbc  gcj openssl xsltproc</p></blockquote>
<p>还有一个</p>
<blockquote>
<p lang="en-US">apt-get install sun-java6-jdk</p>
</blockquote>
<p>如果这个包不能正确安装，说明更新源可能有问题，用编辑器打开/etc/apt/sources.list增加一个</p>
<blockquote><p>deb http://http.us.debian.org/debian/ lenny main contrib non-free</p></blockquote>
<p>然后保存关闭再次运行 apt-get update然后再安装，应该就没问题了。</p>
<p>库安装完成后在源码目录下</p>
<blockquote><p>./configure &#8211;prefix=/usr/<br />
make<br />
make install</p></blockquote>
<p>安装完成后输入erl就能使用最新的Erlang运行环境了</p>
<p>如果是直接apt-get install erlang的，就不用看这个了，我这个是erlang源码编译安装的说明。另外如果有错或者缺少某些类库，还请指出，谢谢。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shootsoft.net/129/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>mysql int整型转换为 IP地址的自定义函数</title>
		<link>http://www.shootsoft.net/124</link>
		<comments>http://www.shootsoft.net/124#comments</comments>
		<pubDate>Wed, 08 Jun 2011 13:54:43 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[int转换]]></category>
		<category><![CDATA[ip]]></category>
		<category><![CDATA[自定义函数]]></category>

		<guid isPermaLink="false">http://www.shootsoft.net/?p=124</guid>
		<description><![CDATA[碰到IP地址与Int转换的问题，得到了一个csv格式的ip列表，但是ip地址却是int格式。因为使用的时候主要是在数据库里使用，所以写个程序转换一把有些麻烦，后来想到mysql里面有自定义函数，于是尝试了一把，顺利解决:-) DELIMITER $$ USE `iptest`$$ DROP FUNCTION IF EXISTS `int2ip`$$ CREATE DEFINER=`root`@`%` FUNCTION `int2ip`(num BIGINT) RETURNS VARCHAR(255) CHARSET utf8BEGIN     DECLARE result VARCHAR(255);    SET result = CONCAT( CAST((num DIV 16777216% 256) AS SIGNED), &#8216;.&#8217;,  CAST(num DIV 65536 % 256 AS SIGNED ), &#8216;.&#8217;,  CAST(num DIV 256%256 AS SIGNED ), &#8216;.&#8217;,  CAST(num%256 AS SIGNED ));RETURN result;   [...]]]></description>
			<content:encoded><![CDATA[<p>碰到IP地址与Int转换的问题，得到了一个csv格式的ip列表，但是ip地址却是int格式。因为使用的时候主要是在数据库里使用，所以写个程序转换一把有些麻烦，后来想到mysql里面有自定义函数，于是尝试了一把，顺利解决:-)</p>
<blockquote><p>DELIMITER $$<br />
USE `iptest`$$<br />
DROP FUNCTION IF EXISTS `int2ip`$$<br />
CREATE DEFINER=`root`@`%` FUNCTION `int2ip`(num BIGINT) RETURNS VARCHAR(255) CHARSET utf8BEGIN     DECLARE result VARCHAR(255);    SET result = CONCAT(		CAST((num DIV 16777216% 256) AS SIGNED), &#8216;.&#8217;, 		CAST(num DIV 65536 % 256 AS SIGNED ), &#8216;.&#8217;, 		CAST(num DIV 256%256 AS SIGNED ), &#8216;.&#8217;, 		CAST(num%256 AS SIGNED ));RETURN result;    END$$<br />
DELIMITER ;</p></blockquote>
<p>使用的时候：</p>
<blockquote><p>Select int2ip(`ip`) from table;</p></blockquote>
<p>附int整型和ip转换的公式，摘自：</p>
<p>http://www.liveq.net/?p=129</p>
<blockquote><p>IP Address = 202.186.13.4<br />
w = 202, x = 186, y = 13 and z = 4<br />
INT IP Number = 16777216*202 + 65536*186 + 256*13 + 4<br />
= 3388997632 + 12189696 + 3328 + 4<br />
= 3401190660<br />
INT 转 IP:<br />
w = int ( IP Number / 16777216 ) % 256<br />
x = int ( IP Number / 65536 ) % 256<br />
y = int ( IP Number / 256 ) % 256<br />
z = int ( IP Number ) % 256</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.shootsoft.net/124/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Erlang {&#8220;no such file or directory&#8221;,&#8221;crypto.app&#8221;}  的解决方法</title>
		<link>http://www.shootsoft.net/123</link>
		<comments>http://www.shootsoft.net/123#comments</comments>
		<pubDate>Thu, 26 May 2011 13:39:33 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Erlang]]></category>
		<category><![CDATA[crypto.app]]></category>
		<category><![CDATA[OpenSSL]]></category>
		<category><![CDATA[ssl]]></category>
		<category><![CDATA[解决]]></category>

		<guid isPermaLink="false">http://www.shootsoft.net/123/</guid>
		<description><![CDATA[&#160; 一台新安装的Debian Linux 6.0, 安装了Erlang R14B02. 直接运行erl，输入一些测试，没有问题。但是部署一个Erlang的应用程序之后，启动出错，主要提示为： &#160; {&#34;no such file or directory&#34;,&#34;crypto.app&#34;} &#160; 这个Erlang的应用程序用到了openssl相关的类库，检查了一遍系统的类库，发现 openssl-dev这个库没有安装，apt-get安装后继续出错，搜索发现erlang-ssl这个库没有，apt-get安装后还是无效。 最后发现一个成功解决的案例： &#160; http://permalink.gmane.org/gmane.comp.networking.rabbitmq.general/5650 &#160; 随后将Erlang卸载，重新编译安装（加这个参数 &#39;&#8211;with-ssl=PATH&#39;）后一切正常。 &#160; 后记：Erlang在编译的时候如果系统缺少一些类库，比如odbc,ssl等，会给出一些警告信息，但是并不会阻塞后面的安装，安装成功后一般会认为安装成功了（基本的测试也能通过），但是实际上一些erlang的类库并没有成功编译安装，这种情况下重新编译安装即可。]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<p style="margin:0in;font-size:11.0pt"><span lang="zh-CN" style="font-family:宋体">一台新安装的</span><span lang="en-US" style="font-family:Calibri">Debian Linux 6.0, </span><span lang="zh-CN" style="font-family:宋体">安装了</span><span lang="en-US" style="font-family:Calibri">Erlang R14B02</span><span lang="en-US" style="font-family:宋体">. </span><span lang="zh-CN" style="font-family:宋体">直接运行</span><span lang="en-US" style="font-family:宋体">erl</span><span lang="zh-CN" style="font-family:宋体">，输入一些测试，没有问题。但是部署一个</span><span lang="en-US" style="font-family:宋体">Erlang</span><span lang="zh-CN" style="font-family:宋体">的应用程序之后，启动出错，主要提示为：</span></p>
<p style="margin:0in;font-family:宋体;font-size:11.0pt">&nbsp;</p>
<p lang="en-US" style="margin:0in;font-family:Calibri;font-size:17.0pt;color:#222222">{&quot;no such file or directory&quot;,&quot;crypto.app&quot;}</p>
<p style="margin:0in;font-family:宋体;font-size:11.0pt">&nbsp;</p>
<p style="margin:0in;font-size:11.0pt"><span lang="zh-CN" style="font-family:宋体">这个</span><span lang="en-US" style="font-family:Calibri">Erlang</span><span lang="zh-CN" style="font-family:宋体">的应用程序用到了</span><span lang="en-US" style="font-family:Calibri">openssl</span><span lang="zh-CN" style="font-family:宋体">相关的类库，检查了一遍系统的类库，发现</span><span lang="en-US" style="font-family:Calibri"> openssl-dev</span><span lang="zh-CN" style="font-family:宋体">这个库没有安装，</span><span lang="en-US" style="font-family:Calibri">apt-get</span><span lang="zh-CN" style="font-family:宋体">安装后继续出错，搜索发现</span><span lang="en-US" style="font-family:宋体">erlang-ssl</span><span lang="zh-CN" style="font-family:宋体">这个库没有，</span><span lang="en-US" style="font-family:宋体">apt-get</span><span lang="zh-CN" style="font-family:宋体">安装后还是无效。</span></p>
<p style="margin:0in;font-family:宋体;font-size:11.0pt">最后发现一个成功解决的案例：</p>
<p style="margin:0in;font-family:宋体;font-size:11.0pt">&nbsp;</p>
<p style="margin:0in;font-family:Calibri;font-size:11.0pt"><a href="http://permalink.gmane.org/gmane.comp.networking.rabbitmq.general/5650">http://permalink.gmane.org/gmane.comp.networking.rabbitmq.general/5650</a></p>
<p style="margin:0in;font-family:Calibri;font-size:11.0pt">&nbsp;</p>
<p style="margin:0in;font-size:11.0pt"><span lang="zh-CN" style="font-family:宋体">随后将</span><span lang="en-US" style="font-family:Calibri">Erlang</span><span lang="zh-CN" style="font-family:宋体">卸载，重新编译安装（加这个参数</span><span lang="zh-CN" style="font-family:palatino;color:#222222"> &#39;&#8211;with-ssl=PATH&#39;</span><span lang="zh-CN" style="font-family:宋体">）后一切正常。</span></p>
<p style="margin:0in;font-family:宋体;font-size:11.0pt">&nbsp;</p>
<p style="margin:0in;font-size:11.0pt"><span lang="zh-CN" style="font-family:宋体">后记：</span><span lang="en-US" style="font-family:Calibri">Erlang</span><span lang="zh-CN" style="font-family:宋体">在编译的时候如果系统缺少一些类库，比如</span><span lang="en-US" style="font-family:Calibri">odbc,ssl</span><span lang="zh-CN" style="font-family:宋体">等，会给出一些警告信息，但是并不会阻塞后面的安装，安装成功后一般会认为安装成功了（基本的测试也能通过），但是实际上一些</span><span lang="en-US" style="font-family:Calibri">erlang</span><span lang="zh-CN" style="font-family:宋体">的类库并没有成功编译安装，这种情况下重新编译安装即可。</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shootsoft.net/123/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

