Я являюсь разработчиком .NET и обычно пишу приложения / сервисы, которые могут работать под Linux с использованием Mono.
Сегодня я начал использовать PHP-функцию DOTNET и смог использовать ее в Windows / Apache:
<?php
try{
$csclass = new DOTNET("CSharpCOM, Version=1.0.0.0, Culture=neutral, ".
"PublicKeyToken=beb607ae770f5750",
"CSharpCOM.CSharpCOMClass");
echo $csclass->Base64("Io mi chiamo Marco Giacinti"),"\n";
echo $csclass->Random2(10,20),"\n";
echo $csclass->Random1(5),"\n";
} catch (Exception $e) {
echo 'Caught exception: ', $e->getMessage(), "\n";
}
?>
где CSharpCOM.CSharpCOMClass
- это DLL, разработанная с помощью Framework 3.5 и установленная в GAC с использованием gacutil -i path\CSharpCOMClass.dll
. ]
Когда я сохраняю этот скрипт как dotnet.php
и перехожу к http://localhost/dotnet.php
, Apache отвечает
HTTP 500 internal error
Есть ли способ использовать функцию DOTNET php в Ubuntu?
Документация для DOTNET()
находится в разделе «Расширения только для Windows». Я предполагаю, что в других двоичных файлах PHP эта функция даже не скомпилирована.