cari
Rumahpembangunan bahagian belakangtutorial phpBagaimanakah skrip PHP mendapat kebenaran untuk mengawal permulaan nginx dan berhenti?

Selesaikan masalah skrip php yang mengawal permulaan nginx dan hentikan kebenaran

Artikel ini membincangkan cara menggunakan skrip PHP untuk mengawal permulaan dan menghentikan pelayan NGINX. Ramai pengguna cuba melaksanakan arahan sistem menggunakan fungsi shell_exec() , tetapi pelaksanaan perintah gagal disebabkan oleh kebenaran yang tidak mencukupi. Sebagai contoh, shell_exec('service nginx stop') nampaknya berjaya, tetapi perkhidmatan nginx sebenarnya tidak berhenti.

Bagaimanakah skrip PHP mendapatkan kebenaran untuk mengawal permulaan nginx dan berhenti?

Penyebab utama masalahnya ialah skrip PHP biasanya dijalankan sebagai pengguna bukan akar (seperti WWW-Data), dan arahan service memerlukan kebenaran akar untuk mengendalikan sistem. Walaupun arahan itu kembali "dilakukan", ini tidak bermakna bahawa perkhidmatan itu telah berjaya dihentikan.

Penyelesaian: Kebenaran Grant Sudo

Untuk menyelesaikan masalah ini, adalah perlu untuk memberi kebenaran pelari PHP (seperti WWW-Data) untuk melaksanakan arahan sudo tanpa kata laluan. Ini memerlukan pengeditan yang berhati -hati terhadap fail /etc/sudoers . Adalah sangat disyorkan untuk menggunakan perintah visudo untuk mengedit fail untuk mengelakkan rasuah fail:

 sudo visudo

Tambahkan baris berikut pada akhir fail /etc/sudoers :

 <code># 允许www-data用户无需密码执行所有sudo命令www-data ALL=(ALL) NOPASSWD: ALL</code>

Nota: ALL=(ALL) NOPASSWD: ALL memberikan pengguna WWW-Data yang sangat tinggi. Sila laraskan skop kebenaran mengikut keperluan sebenar. Hanya arahan yang diperlukan untuk dilaksanakan, seperti www-data ALL=(ALL) NOPASSWD: /usr/sbin/service nginx * Hanya operasi perkhidmatan nginx dibenarkan.

Selepas pengubahsuaian selesai, arahan dalam kod PHP harus ditukar kepada:

 $ command = 'Sudo Service Nginx Stop';
$ output = shell_exec ($ command);
echo $ output; // hasil pelaksanaan arahan output

Langkah tambahan dalam persekitaran Docker:

Di dalam bekas Docker, anda perlu memasang sudo terlebih dahulu:

 apt-get kemas kini & & apt-get install -y sudo

Kemudian, ikuti langkah -langkah di atas untuk mengubah suai fail /etc/sudoers . Pastikan sudo dikonfigurasi dengan betul dalam bekas dan pengubahsuaian fail /etc/sudoers berkuatkuasa.

Melalui langkah -langkah di atas, skrip PHP boleh mendapatkan keizinan yang mencukupi untuk mengawal permulaan dan menghentikan perkhidmatan Nginx. Ingat, mengubah fail /etc/sudoers memerlukan operasi yang teliti, kerana konfigurasi yang salah boleh menyebabkan ketidakstabilan sistem. Adalah disyorkan untuk membuat sandaran fail sebelum pengubahsuaian dan periksa dengan teliti ketepatan konfigurasi selepas pengubahsuaian.

Atas ialah kandungan terperinci Bagaimanakah skrip PHP mendapat kebenaran untuk mengawal permulaan nginx dan berhenti?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
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
Apakah kaedah terbaik untuk menghantar e -mel menggunakan php?Apakah kaedah terbaik untuk menghantar e -mel menggunakan php?May 08, 2025 am 12:21 AM

Thebestapproachforsendingemailsinphpisusingthephpmaillibraryduetoitsreliability, featureRichness, andeaseofuse.phpmailersupportssmtp, proveddetaileDerrorHandling, membolehkanSendsendingHtmlandPlainteMails, supportsattachments, danStoVeShanCess

Amalan terbaik untuk suntikan ketergantungan dalam phpAmalan terbaik untuk suntikan ketergantungan dalam phpMay 08, 2025 am 12:21 AM

Alasan untuk menggunakan suntikan ketergantungan (DI) ialah ia menggalakkan gandingan longgar, kebolehlihatan, dan pemeliharaan kod. 1) Gunakan pembina untuk menyuntik kebergantungan, 2) Elakkan menggunakan pencari perkhidmatan, 3) Gunakan bekas suntikan ketergantungan untuk menguruskan kebergantungan, 4) meningkatkan kesesuaian melalui suntikan suntikan, 5) Elakkan kebergantungan over-suntikan, 6) Pertimbangkan kesan DI terhadap prestasi.

Petua Penalaan Prestasi PHPPetua Penalaan Prestasi PHPMay 08, 2025 am 12:20 AM

Phpperformancetuningiscrucialbecauseitenhancesspeedandeficiency, whoarevitalforwebapplications.1) cachingwithapcureSdatabaseloadandimprovesresponsetimes.2)

Keselamatan e -mel PHP: Amalan terbaik untuk menghantar e -melKeselamatan e -mel PHP: Amalan terbaik untuk menghantar e -melMay 08, 2025 am 12:16 AM

TthebestpracticesforDailssecureeleynpinceDudududude: 1) usingSecureConfigurationsatiationswithsmtpandStartTartTlSencrryption, 2) vactrentatiatingIsTitionputStopReventInJectaCtAtactaSs, 3) engrypTyptingSensensitiVIdAdAlsHAlSiSsSenSsensSl ,SsengsSenSsensSl ,SsengSiSsSSSsSsSsSsSsSsSsSsSsSsSsSsSsSsSsSsSsSsSsSssSsSsSsSsSsSsSsSsSsSsSsSsSsSsSsSSSSsSSSSSSSSSHAsSsSSSSSHAsSsSengs.)

Bagaimana anda mengoptimumkan aplikasi PHP untuk prestasi?Bagaimana anda mengoptimumkan aplikasi PHP untuk prestasi?May 08, 2025 am 12:08 AM

TooptimizePHPapplicationsforperformance,usecaching,databaseoptimization,opcodecaching,andserverconfiguration.1)ImplementcachingwithAPCutoreducedatafetchtimes.2)Optimizedatabasesbyindexing,balancingreadandwriteoperations.3)EnableOPcachetoavoidrecompil

Apakah suntikan ketergantungan dalam php?Apakah suntikan ketergantungan dalam php?May 07, 2025 pm 03:09 PM

DependencyInjectionPhpisadesignPatternThatenhancesflexibility, Testability, andMaintainabilitybyprovidingExternalDependencyestoclasses.Illowsforloosecoupling, easiertestingthroughmocking, andmodulardesignesign, ButrequirescareFareFingStructures-Inje

Teknik Pengoptimuman Prestasi PHP TerbaikTeknik Pengoptimuman Prestasi PHP TerbaikMay 07, 2025 pm 03:05 PM

Pengoptimuman prestasi PHP boleh dicapai melalui langkah -langkah berikut: 1) Gunakan memerlukan_once atau termasuk_once di bahagian atas skrip untuk mengurangkan bilangan beban fail; 2) Gunakan penyataan preprocessing dan pemprosesan batch untuk mengurangkan bilangan pertanyaan pangkalan data; 3) Konfigurasikan opcache untuk cache opcode; 4) membolehkan dan mengkonfigurasi pengurusan proses pengoptimuman PHP-FPM; 5) Gunakan CDN untuk mengedarkan sumber statik; 6) Gunakan XDEBUG atau Blackfire untuk analisis prestasi kod; 7) Pilih struktur data yang cekap seperti tatasusunan; 8) Tulis kod modular untuk pelaksanaan pengoptimuman.

Pengoptimuman Prestasi PHP: Menggunakan Caching OpcodePengoptimuman Prestasi PHP: Menggunakan Caching OpcodeMay 07, 2025 pm 02:49 PM

OpcodecachingsignificelymprovesphperformanceCachingCompiledCode, reducingservervoadandresponsetimes.1) itstorescompiledphpcodeinmemory, bypassingparsingandcompiling.2)

See all articles

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

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

mPDF

mPDF

mPDF ialah perpustakaan PHP yang boleh menjana fail PDF daripada HTML yang dikodkan UTF-8. Pengarang asal, Ian Back, menulis mPDF untuk mengeluarkan fail PDF "dengan cepat" dari tapak webnya dan mengendalikan bahasa yang berbeza. Ia lebih perlahan dan menghasilkan fail yang lebih besar apabila menggunakan fon Unicode daripada skrip asal seperti HTML2FPDF, tetapi menyokong gaya CSS dsb. dan mempunyai banyak peningkatan. Menyokong hampir semua bahasa, termasuk RTL (Arab dan Ibrani) dan CJK (Cina, Jepun dan Korea). Menyokong elemen peringkat blok bersarang (seperti P, DIV),

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

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.

SublimeText3 versi Inggeris

SublimeText3 versi Inggeris

Disyorkan: Versi Win, menyokong gesaan kod!