Rumah pembangunan bahagian belakang masalah PHP Apakah yang perlu saya lakukan jika PHP tidak boleh memanggil komponen COM?

Apakah yang perlu saya lakukan jika PHP tidak boleh memanggil komponen COM?

Nov 01, 2022 am 10:04 AM
php komponen com

Penyelesaian kepada masalah yang php tidak boleh memanggil komponen com: 1. Sahkan versi php dan alat sistem yang diperlukan 2. Konfigurasikan php.ini dan dayakan "com.allow_dcom = true"; fungsi php atau Hanya semak sama ada "php_com_dotnet.dll" berjaya dimuatkan.

Apakah yang perlu saya lakukan jika PHP tidak boleh memanggil komponen COM?

Persekitaran pengendalian tutorial ini: sistem Windows 7, PHP versi 8.1, komputer Dell G3.

Apakah yang perlu saya lakukan jika php tidak boleh memanggil komponen com? Rekod perangkap komponen COM rujukan PHP

Baru-baru ini, "pekerjaan ganjil" muncul dalam item kerja Ia adalah perlu untuk menambah fungsi pada projek PHP sedia ada, dan projek serta kod sumber diperlukan melaksanakan fungsi Terdapat juga projek, yang merupakan tugas yang sangat mudah. Walaupun saya jarang menggunakan PHP, ini bukan "faktor pembatas" yang paling penting. Apa yang membuat saya sakit kepala ialah perpustakaan fungsi dilaksanakan menggunakan rangka kerja .NET Terdapat banyak pelarasan pada format data, yang agak rumit bukan Manual logik fungsional, sukar untuk disalin dalam PHP. Oleh itu, merujuk secara langsung perpustakaan dinamik .NET dalam php telah menjadi kunci untuk menyelesaikan "tugas"

Ramai warga emas di Internet telah merekodkan masalah ini, tetapi mereka gagal menyalin labu tersebut. Kerja gig" "Dalam proses itu, saya menemui dan mengisi perangkap rekod

Pustaka dinamik komponen COM yang dijana

Komponen COM (komponen COM) ialah teknologi pembangunan perisian yang dibangunkan oleh Microsoft. Intipatinya ialah beberapa program boleh laku binari kecil yang boleh menyediakan perkhidmatan kepada aplikasi, sistem pengendalian dan komponen lain. Jika anda ingin merujuk perpustakaan dinamik pihak ketiga dalam PHP, anda perlu menggunakan kaedah COM("Component.class") baharu, di mana Komponen mestilah komponen COM

1 projek perpustakaan

Tidak kira versi Framework mana pun, anda sepatutnya dapat mencari projek perpustakaan kelas di bawah tab Windows

Dengan cara ini, akan ada fail PropertiesAssemblyInfo.cs secara lalai dalam projek, yang merekodkan maklumat yang diperlukan untuk set projek

2 Rangka kerja sasaran mesti sepadan

Anda boleh memilih Rangka kerja semasa mencipta projek

Jika ia dilaraskan. kemudian, anda boleh memilih rangka kerja sasaran dalam aplikasi projek> Buat pengubahsuaian

Perhatikan bahawa rangka kerja perlu konsisten semasa mendaftarkan dll

3

Dalam fail PropertiesAssemblyInfo.cs, tetapkan ComVisible seperti berikut Ubah suai

[assembly: ComVisible(true)]
Salin selepas log masuk

4 Untuk menetapkan tandatangan dan tetapkan kekunci nama kuat

Sifat Projek>Tandatangan, tandakan "Tandatangan perhimpunan" dan pilih nama kuat di bawah Cipta fail kunci baharu

dalam "Fail Utama" dan kemudian jana fail dll yang sepadan dalam direktori binDebug

5. Jika terdapat perpustakaan dinamik yang tidak boleh dibenamkan

Jika projek The Framework versi lebih rendah, atau perpustakaan yang dirujuk oleh

kekurangan ciri yang diperlukan untuk saling kendali,

Dalam pendek, kebolehoperasian terbenam tidak boleh dilakukan pada perpustakaan yang dirujuk

Kemudian, dll bergantung , anda juga perlu melakukan pendaftaran seterusnya dan operasi lain

Daftar DLL ke pelayan

Ia melibatkan operasi peringkat sistem, dan terdapat banyak perangkap...

1 Sahkan versi php

Dalam ujian peribadi, versi 5.3.22 tidak tersedia, tetapi versi 5.4. 5 sudah tersedia, jadi cuba gunakan versi 5.4 ke atas

Sekarang versi PHP tertinggi ialah versi 8.0, saya tidak tahu sama ada kaedah operasi masih sama

2 alatan sistem yang diperlukan

Gacutil dan regasm diperlukan, dan kedua-duanya perlu sepadan dengan versi Rangka Kerja

Maksudnya, dll komponen COM yang dijana digunakan Versi mana rangka kerja adakah ia? Anda juga perlu menggunakan versi alat yang sepadan di sini

Biasanya sistem windows pasti akan mempunyai alat regasm terbina dalam

Laluan direktori, contohnya,

C:\Windows\Microsoft.NET\Framework64\v2.0.50727\RegAsm.exe
Salin selepas log masuk

Jika ia digunakan pada sistem 64-bit, pergi ke direktori Framework64, jika tidak gunakan direktori Framework dan pilih nombor versi rangka kerja Framework yang sepadan, di mana anda sepatutnya dapat mencari RegAsm.exe fail

Alat gacutil disediakan oleh Microsoft Ada dalam windows sdk Jika anda belum memasangnya, anda boleh klik untuk memuat turunnya dari laman web rasmi

Selepas pemasangan lalai, fail. laluan alat untuk versi di bawah Frameworkd 4.0,

C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\gacutil.exe
Salin selepas log masuk

Jika anda memerlukan versi 4.0, laluan Ya,

c:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\NETFX 4.0 Tools\gacutil.exe
Salin selepas log masuk

3 Konfigurasikan php.ini

untuk membolehkan com.allow_dcom = true

Pastikan terdapat fail php_com_dotnet.dll dalam direktori extension_dir anda

Dayakan atau tambah extension=php_com_dotnet.dll

4

Ambil sistem 64-bit, versi 4.0 my.dll sebagai contoh

Tukar Salin dll yang dijana dalam Yipa ke direktori c:Program FilesMicrosoft SDKsWindowsv7.1BinNETFX 4.0 Tools

ke direktori c:Program FilesMicrosoft SDKsWindowsv7.1BinNETFX 4.0 Tools dan laksanakan gacutil /i my.dll

Pergi ke direktori C:WindowsMicrosoft.NETFramework64v4.0.30319 dan laksanakan regasm><🎜 my. 5. Nyahdaftar DLL

Ambil sistem 64-bit, versi 4.0 my.dll sebagai contoh

Pergi ke direktori C:WindowsMicrosoft.NETFramework64v4.0.30319 dan jalankan regasm my.dll /unregister

Pergi ke direktori c:Program FilesMicrosoft SDKsWindowsv7.1BinNETFX 4.0 Tools dan laksanakan gacutil /u my

php memanggil komponen COM

Selepas itu kandungan di atas dikonfigurasikan dengan betul, anda boleh memanggilnya dalam fail php Kaedahnya adalah seperti berikut

meminta bahawa tiada kaedah COM, anda perlu mempertimbangkan sama ada Fungsi com php telah. dihidupkan, atau sama ada php_com_dotnet.dll telah berjaya dimuatkan
$comClass = new COM(&#39;namespace.className&#39;);
$comClass -> methodName();
Salin selepas log masuk

Ia menggesa bahawa tiada kaedah dll dipanggil, atau dll tidak didaftarkan, anda perlu mempertimbangkan sama ada fail dll telah berjaya didaftarkan

Kajian yang disyorkan: "Tutorial Video PHP"

Atas ialah kandungan terperinci Apakah yang perlu saya lakukan jika PHP tidak boleh memanggil komponen COM?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Konfigurasi Projek CakePHP Konfigurasi Projek CakePHP Sep 10, 2024 pm 05:25 PM

Dalam bab ini, kita akan memahami Pembolehubah Persekitaran, Konfigurasi Umum, Konfigurasi Pangkalan Data dan Konfigurasi E-mel dalam CakePHP.

Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 membawa beberapa ciri baharu, peningkatan keselamatan dan peningkatan prestasi dengan jumlah penamatan dan penyingkiran ciri yang sihat. Panduan ini menerangkan cara memasang PHP 8.4 atau naik taraf kepada PHP 8.4 pada Ubuntu, Debian, atau terbitan mereka

Tarikh dan Masa CakePHP Tarikh dan Masa CakePHP Sep 10, 2024 pm 05:27 PM

Untuk bekerja dengan tarikh dan masa dalam cakephp4, kami akan menggunakan kelas FrozenTime yang tersedia.

Muat naik Fail CakePHP Muat naik Fail CakePHP Sep 10, 2024 pm 05:27 PM

Untuk mengusahakan muat naik fail, kami akan menggunakan pembantu borang. Di sini, adalah contoh untuk muat naik fail.

Penghalaan CakePHP Penghalaan CakePHP Sep 10, 2024 pm 05:25 PM

Dalam bab ini, kita akan mempelajari topik berikut yang berkaitan dengan penghalaan ?

CakePHP Bekerja dengan Pangkalan Data CakePHP Bekerja dengan Pangkalan Data Sep 10, 2024 pm 05:25 PM

Bekerja dengan pangkalan data dalam CakePHP adalah sangat mudah. Kami akan memahami operasi CRUD (Buat, Baca, Kemas Kini, Padam) dalam bab ini.

Bincangkan CakePHP Bincangkan CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP ialah rangka kerja sumber terbuka untuk PHP. Ia bertujuan untuk menjadikan pembangunan, penggunaan dan penyelenggaraan aplikasi lebih mudah. CakePHP adalah berdasarkan seni bina seperti MVC yang berkuasa dan mudah difahami. Model, Pandangan dan Pengawal gu

Pengesah Mencipta CakePHP Pengesah Mencipta CakePHP Sep 10, 2024 pm 05:26 PM

Pengesah boleh dibuat dengan menambah dua baris berikut dalam pengawal.

See all articles