另一个让我绝对疯狂的问题。这似乎是一个常见的错误,我无法用#34;传统"方法(其他人为同一问题提供的答案)..
Windows 2008 R2 - x64
Apache 2.2.25
PHP 5.3.27
我在php.ini中有这些行:
extension_dir = "C:\Program Files (x86)\PHP\ext\"
[COM_DOT_NET]
extension=php_com_dotnet.dll
php_com_dotnet.dll存在于该目录中,我甚至更进一步尝试为Everyone为PHP文件夹分配读取权限,尽管它应该具有访问权限,因为它会加载其他库。
以下是来自phpinfo()的configure命令,它实际上是提到COM的唯一内容。
cscript / nologo configure.js" - enable-snapshot-build" " - 禁用-ISAPI" " - 使能调试包" " - 无需-MSSQL" " - 无需-PDO-MSSQL" " - 无需-Pi3Web服务器" " - 与-PDO-OCI = C:\ PHP-SDK \ ORACLE \ instantclient10 \ SDK,共享" " - 与-OCI8 = C:\ PHP-SDK \ ORACLE \ instantclient10 \ SDK,共享" " - 与-oci8-11g = C:\ PHP-SDK \ ORACLE \ instantclient11 \ SDK,共享" " - 使对象-OUT-DIR = .. / OBJ /"的" - 使-COM-DOTNET =共享" " - 与-mcrypt的静态=" " - 禁止静电-分析"
非常感谢任何建议!感谢
修改
get_cfg_var('cfg_file_path') = C:\Program Files (x86)\PHP\php.ini
我编辑的是php.ini。
此外,这里是错误日志,没有任何指向问题....
[Mon Mar 31 14:51:09 2014] [notice] Apache/2.2.25 (Win32) PHP/5.3.27 mod_aspdotnet/2.2 configured -- resuming normal operations
[Mon Mar 31 14:51:09 2014] [notice] Server built: Jul 10 2013 01:52:12
[Mon Mar 31 14:51:09 2014] [notice] Parent: Created child process 3708
[Mon Mar 31 14:51:09 2014] [notice] mod_aspdotnet: CorBindToRuntimeEx has loaded version v2.0.50727 of the .NET CLR engine.
[Mon Mar 31 14:51:40 2014] [notice] Child 3708: Child process is running
[Mon Mar 31 14:51:40 2014] [notice] Child 3708: Acquired the start mutex.
[Mon Mar 31 14:51:40 2014] [notice] Child 3708: Starting 250 worker threads.
[Mon Mar 31 14:51:40 2014] [notice] Child 3708: Starting thread to listen on port 8086.
[Mon Mar 31 14:51:40 2014] [notice] Child 3708: Starting thread to listen on port 8084.
答案 0 :(得分:0)
不是答案 - 只是想获得更多数据
的输出是什么<?php
$config = file(get_cfg_var('cfg_file_path'));
foreach( $config as $n=>$l) {
if ( false!==strpos($l, 'dotnet') ) {
printf("%03d %s<br />\r\n", $n, $l);
}
}
echo 'com_dotnet: ', extension_loaded('com_dotnet') ? 'yes':'no', "<br />\r\n";
echo 'class: ', class_exists('COM') ? 'yes':'no', "<br />\r\n";
更新:(回答评论)
答案似乎是腐败的或某种方式&#34;坏&#34; php_com_dotnet.dll,Windows安装程序没有替换。我只是抓住匹配版本的二进制zip,手工覆盖dll - VOILA!将答案标记为答案,因为它是最接近的,让我走上了正确的轨道。