如果脚本以32位或64位运行,有没有人知道在PHP中检查的方法?目前我正在使用PHP 5.3.5.
理想情况下,我想编写一个函数,所以我的代码看起来像这样:
if( is_32bit() === true ) {
do_32bit_workaround();
}
do_everything_else();
Run Code Online (Sandbox Code Playgroud)
有人有什么想法?
我在这里处理Windows.
我知道你可以使用$_SERVER['HTTP_USER_AGENT']变量来检测查看页面的浏览器的操作系统,但是PHP可以检测服务器操作系统的任何方式吗?
对于我的程序的UI,我使用的是PHP网页.我需要读取注册表中的一个密钥,该密钥位于64位操作系统的不同位置(它位于Wow6432Node密钥下).
PHP可以告诉它运行的是什么操作系统吗?PHP可以判断操作系统是64位还是32位?
我试图用PhpStorm 7.0设置Xdebug(2.2.3),但无法像过去一样启动逐步调试控制台。我用来设置的指南是:
我知道Xdebug扩展本身在页面加载时正在创建cachegrind.out.3280文件(具有所有所需脚本和变量/值的12Mb连载)。我在php.ini(php版本5.4.12)中设置的是:
zend_extension="c:/wamp/bin/php/php5.4.12/zend_ext/php_xdebug-2.2.3-5.4-vc9-x86_64.dll"
xdebug.profiler_output_dir="c:/wamp/tmp"
xdebug.profiler_output_name="cachegrind.out.%p"
xdebug.profiler_enable=1
xdebug.remote_enable=1
xdebug.remote_port=9000
xdebug.idekey=xdebug
xdebug.remote_connect_back=1
xdebug.remote_host=dashboard.dev
Run Code Online (Sandbox Code Playgroud)
设置断点后,打开Xdebug chrome扩展名,单击以收听PhpStorm中的Xdebug并刷新,我得到了来自Xdebug的传入连接对话框:

但是,当我单击“接受”时,对话框消失,并且没有任何反应。
然后,如果我转到PhpStorm中的“设置” /“ PHP /服务器”,则会看到已创建一个新条目:

只有删除添加的条目,我才能在刷新页面时再次显示“传入连接”对话框。我注意到端口设置为80,所以想知道这是否正确,因为Xdebug扩展设置为通过端口9000运行。当我单击“验证远程环境”选择部署服务器,然后单击“验证”时,我得到:没有加载调试扩展。所以我假设问题出在这与如何设置有关。
我尝试使用<?php echo php_uname("m"); ?>,它返回i586,但我在Windows 7 64位,我可以在我的计算机属性中看到.所以我期待输出中的x86_64.有谁知道如何在PHP中确定OS体系结构?
对于Mac OS X我也想要同样的东西.任何帮助,将不胜感激.