Apabila cuba memulakan program luaran daripada aplikasi PHP dalam persekitaran intranet XP terkawal, pengguna mungkin menghadapi kesukaran. Berikut ialah beberapa isu dan strategi biasa untuk menyelesaikannya:
Masalah 1: Tidak Dapat Melaksanakan Program dengan Skrin Kelihatan
Fungsi PHP seperti system() dan exec() mungkin gagal melancarkan program yang memerlukan antara muka pengguna grafik (GUI), seperti penjana laporan atau pad nota.
Penyelesaian:
Untuk mengatasi masalah ini, navigasi ke perkhidmatan panel kawalan (services.msc). Cari perkhidmatan Apache, buka sifatnya dan pastikan kotak semak "Benarkan perkhidmatan berinteraksi dengan Desktop" di bawah tab "Log Masuk akaun" ditandakan. Mulakan semula perkhidmatan Apache untuk menggunakan perubahan.
Masalah 2: Perlaksanaan Segerak lwn. Tak Segerak
Secara lalai, sistem melaksanakan program secara serentak, menyekat skrip PHP sehingga ia selesai . Jika dikehendaki, pclose(popen()) boleh digunakan untuk melaksanakan program secara tak segerak, membenarkan skrip PHP diteruskan tanpa menunggu penamatannya.
Contoh:
<code class="php">// Do not wait for Notepad to close pclose(popen("start /B notepad.exe", "r")); // Wait for Notepad to close before continuing system('start notepad.exe');</code>
Nota:
Penyelesaian ini telah diuji pada Windows XP. Tingkah laku mungkin berbeza pada versi Windows lain. Selain itu, jika anda lebih suka perkhidmatan dijalankan di bawah akaun pengguna domain dan bukannya sistem setempat, anda mungkin tidak boleh berinteraksi dengan desktop dan mengakses perkongsian rangkaian menggunakan perkhidmatan yang sama. Dalam kes sedemikian, pembahagian perkhidmatan kepada dua komponen mungkin diperlukan.
Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Kesukaran Apabila Melaksanakan Program Luaran dengan PHP dalam Persekitaran Terkawal?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!