Когда вы создаете файл DLL, вам нужно использовать файл определения модуля .Он будет содержать нечто похожее на это:
;
;contains the list of functions that are being exported from this DLL
;
DESCRIPTION "Simple COM object"
EXPORTS
DllGetClassObject PRIVATE
DllCanUnloadNow PRIVATE
DllRegisterServer PRIVATE
DllUnregisterServer PRIVATE
Это определение позволяет regsvr32 найти точку входа DllRegisterServer.
Другой вариант, который вы можете попробовать, - передать флаг / n в regsvr32.
Regsvr32 [/ u] [/ n] [/ i [: cmdline]] dllname
/ u - отменить регистрацию сервера
/ i - вызвать DllInstall, передав ему необязательный [cmdline];при использовании с / u вызывает dll uninstall
/ n - не вызывать DllRegisterServer;эта опция должна использоваться с / i
/ s - Silent;не отображать окна сообщений (добавлено в Windows XP и Windows Vista)
В конечном итоге, прежде чем пытаться заставить DLL работать с PHP, необходимо убедиться, что ваша DLL работает в целом.