Rumah > pembangunan bahagian belakang > tutorial php > Mengapa Fungsi PHP exec() Saya Tidak Berfungsi?

Mengapa Fungsi PHP exec() Saya Tidak Berfungsi?

Linda Hamilton
Lepaskan: 2024-12-14 21:37:19
asal
681 orang telah melayarinya

Why Isn't My PHP exec() Function Working?

Fungsi Menyelesaikan masalah exec() dalam PHP

Menghadapi masalah dengan fungsi exec() boleh mengecewakan, terutamanya apabila ia tidak menghasilkan sebarang hasil yang jelas. Artikel ini menyediakan panduan komprehensif untuk membantu anda nyahpepijat dan menyelesaikan masalah sedemikian.

Masalah:
Fungsi exec() gagal melaksanakan arahan pada pelayan, walaupun telah melumpuhkan safe_mode dan mengesahkan kefungsian arahan konsol. Kebenaran untuk aplikasi telah ditetapkan dengan betul.

Coretan Kod:
Coretan kod berikut telah dicuba:

echo exec('/usr/bin/whoami');

echo exec('whoami');

exec('whoami 2>&1',$output,$return_val);
if($return_val !== 0) {
    echo 'Error<br>';
    print_r($output);   
}

exec('/usr/bin/whoami 2>&amp;1',$output,$return_val);
if($return_val !== 0) {
    echo 'Error<br>';
    print_r($output);   
}
Salin selepas log masuk

Dua coretan kod terakhir memaparkan ralat dan tatasusunan kosong. Sokongan pelayan tidak dapat membantu.

Penyelesaian:

  1. Semak disable_functions:

    • Navigasi ke /etc/php.ini dan semak jika exec disenaraikan di bawah disable_functions.
    • Jika ada, alih keluarnya dan mulakan semula Apache.
  2. Dayakan Mod Nyahpepijat:

    • Untuk penyahpepijatan yang lebih mudah, gunakan yang berikut kod:

      #!/usr/bin/php
      ini_set("display_errors", 1);
      ini_set("track_errors", 1);
      ini_set("html_errors", 1);
      error_reporting(E_ALL);
      Salin selepas log masuk
    • Laksanakan skrip secara manual: chmod x myscript.php dan ./myscript.php.
  3. Kebenaran Isu:

    • Buat skrip bash yang dilaksanakan arahan mudah, cth., gema "hello world."
    • Tetapkan kebenaran untuk fail dan folder menggunakan chmod 755.
    • Cuba jalankan skrip.

Atas ialah kandungan terperinci Mengapa Fungsi PHP exec() Saya Tidak Berfungsi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan