擅长:python、mysql、java
<p>如果你不知道如何使用它,一切都是危险的(即使是叉子)。你有几种选择:</p>
<ol>
<li><p><strong>标准</strong>:使用<code>exec()</code>/<code>shell_exec()</code>等在PHP中运行Python解释器。另外,运行Python编译的字节码会有很小的延迟和能力,因此性能在这里获胜。</p></li>
<li><p><strong>非标准</strong>:如果您非常关心手头的安全问题,我建议您最好将Python命令插入某些批处理表中,并使用CRON调度器定期运行这些命令。执行之后,使用PHP获取结果。通过这种方式,PHP/Python的执行将不耦合,您将更好地控制如何/何时执行Python脚本。</p></li>
<li><p><em><strong>非标准的</strong>(不惜一切代价避免)</em>:您提到的项目被移到Git的<a href="https://github.com/liuzhen153/php-python" rel="nofollow noreferrer">php-python</a>。它只需在端口21230上启动一个新的Python <code>server</code>,然后等待来自PHP脚本的Python命令。现在,<strong>这些解决方案是一个最危险的解决方案,</strong>,因为web服务器中有额外的开放端口,这是管理员非常头疼的问题,因此强烈建议不要使用。</p></li>
<li><p>最后一种选择是质疑一种假设,即在PHP的web开发中根本需要Python<em>。公司的语言越多,维护所有源代码就越困难,新功能/错误修复的上市时间也就越难。因此,在考虑Python脚本的执行之前,首先考虑将它们重写到普通PHP中。在</p>
<p>您可以这样做<a href="https://gist.github.com/reusee/1035975" rel="nofollow noreferrer">automatically</a>,但是这些类型的转换器非常容易出错并且不完整-例如,这一种不支持<code>imports</code>。(他妈的怎么了?Python没有进口就像面包没有面粉)。第二种选择是学习Python并将手头的代码重新编写到PHP中。或者简单地获取客户需求并将其编码到PHP中。所有可以用Python完成的事情,也可以用PHP完成(至少从web开发的角度来看)。</p></li>
</ol>