Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Penyelesaian kepada ralat Fatal PHP: Panggilan ke fungsi yang tidak ditentukan fsockopen()

Penyelesaian kepada ralat Fatal PHP: Panggilan ke fungsi yang tidak ditentukan fsockopen()

WBOY
WBOYasal
2023-06-22 15:24:281418semak imbas

Jika anda menemui mesej ralat "PHP Fatal error: Call to undefined function fsockopen()" semasa menggunakan PHP, ini bermakna fungsi fsockopen tidak didayakan dalam persekitaran PHP anda. Dalam artikel ini, kami akan menyelesaikan masalah ini melalui langkah berikut:

  1. Semak sama ada fungsi fsockopen didayakan
  2. Jika ia tidak didayakan, ubah suai fail konfigurasi php.ini ;
  3. Mulakan semula pelayan Apache;
  4. Mari perkenalkan langkah di atas secara terperinci.

Semak sama ada fungsi fsockopen didayakan
  1. Mula-mula, anda perlu menentukan sama ada fungsi fsockopen didayakan dalam persekitaran PHP anda. Anda boleh menyemak sama ada fungsi fsockopen didayakan dalam persekitaran PHP anda dengan mencipta halaman phpinfo Kaedahnya adalah seperti berikut:

1) Cipta fail baharu dalam penyunting teks dan namakannya phpinfo.php (perhatikan. akhiran Nama mestilah .php);

2) Masukkan kandungan berikut dalam fail:

<?php
phpinfo();
?>

3) Simpan fail dan muat naik ke direktori akar web pelayan anda; ) Masukkan "http://nama domain anda/phpinfo.php" dalam pelayar untuk mengakses halaman.

Dalam halaman ini, anda boleh mencari kata kunci "fsockopen" dan mencari bahagian "Strim PHP Berdaftar" atau "Persekitaran PHP", di mana harus ada "fsockopen" disenaraikan. Jika ia tidak disenaraikan, ini bermakna fungsi fsockopen tidak didayakan dalam persekitaran PHP anda dan anda perlu meneruskan ke langkah seterusnya.

Jika ia tidak didayakan, ubah suai fail konfigurasi php.ini

  1. Ubah suai kandungan fail konfigurasi php.ini untuk memasukkan fungsi fsockopen. Operasi khusus adalah seperti berikut:
1) Gunakan SSH untuk log masuk ke pelayan

2) Masukkan arahan berikut untuk mencari lokasi fail php.ini:

php -i|grep php.ini

Ini akan mengeluarkan butiran laluan fail php.ini
3) Buka fail php.ini dengan editor, cari baris "disable_functions" dalam fail php.ini, ulaskannya (tambah # sebelum titik koma), dan kemudian tambah "fsockopen" pada baris ", sebagai contoh:

disable_functions = #disable_functions = show_source, system, shell_exec, passthru, exec, phpinfo, fsockopen

Sila ambil perhatian bahawa jika tiada baris "disable_functions" dalam fail php.ini anda, anda perlu menambahkannya secara manual.

4) Simpan dan tutup fail php.ini.

Mulakan semula pelayan Apache

  1. Selepas mengubah suai fail php.ini, anda perlu memulakan semula pelayan Apache untuk menjadikannya berkesan. Operasi khusus adalah seperti berikut:
1) Gunakan arahan berikut untuk memulakan semula pelayan Apache:

service httpd restart

2) Tunggu beberapa saat sehingga permulaan semula pelayan Apache selesai.

Uji sama ada masalah telah diselesaikan

  1. Semasa menguji, anda boleh cuba menjalankan kod yang mencetuskan panggilan fungsi "fsockopen" sekali lagi. Jika masalah telah diselesaikan, kod anda seharusnya berjaya dilaksanakan.
Ringkasan

Dalam artikel ini, kami menerangkan secara terperinci cara menyelesaikan masalah "PHP Fatal error: Call to undefined function fsockopen()" melalui empat langkah. Jika anda menghadapi masalah ini, anda boleh menyelesaikannya dengan mengikuti langkah-langkah yang disediakan dalam artikel ini. Akhir sekali, jika anda menghadapi masalah lain atau mempunyai soalan lain semasa menyelesaikan masalah, anda boleh meninggalkan mesej di ruang komen.

Atas ialah kandungan terperinci Penyelesaian kepada ralat Fatal PHP: Panggilan ke fungsi yang tidak ditentukan fsockopen(). 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