Hướng dẫn file_get_contents php_network_getaddresses: getaddrinfo failed: name or service not known - file_get_contents php_network_getaddresses: getaddrinfo không thành công: tên hoặc dịch vụ không được biết

23

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Tôi đang cố gắng tải xuống một hình ảnh từ máy chủ bằng tập lệnh PHP trên trang web của tôi trên máy chủ XAMPP.

Hình ảnh đang được tải xuống bằng hàm file_get_contents.

Mã PHP để tải xuống trên máy chủ là:

if(isset($_GET['path']) && isset($_GET['username'])) {
    echo "path:".$_GET['path'];
    $temp = explode(".", $_GET['path']);
    $extension = end($temp);
    $fname="images/".$_GET['title'];
    $filenameIn  = $_GET['path'];
    $filenameOut = "" . $fname;
    $contentOrFalseOnFailure   = file_get_contents($filenameIn);
    $byteCountOrFalseOnFailure = file_put_contents($filenameOut,$contentOrFalseOnFailure);
}

Nhưng tôi đang gặp lỗi này:

CẢNH BÁO: file_get_contents (): php_network_getaddresses: getaddrinfo thất bại: tên hoặc dịch vụ không được biết đến trong /opt/lampp/htdocs/xampp/project/upload_art.php trên dòng 19

Cảnh báo: File_Get_Contents (http://app6.pixlr.com/_temp/528afa6e2f7cc6a5b1000101.jpg) PHP trên dòng 19

Tôi đã kiểm tra tất cả các câu trả lời được đăng ở đây nhưng dường như không có gì để giải quyết vấn đề. Xin vui lòng giúp đỡ!

Hướng dẫn file_get_contents php_network_getaddresses: getaddrinfo failed: name or service not known - file_get_contents php_network_getaddresses: getaddrinfo không thành công: tên hoặc dịch vụ không được biết

Đã hỏi ngày 19 tháng 11 năm 2013 lúc 6:06Nov 19, 2013 at 6:06

2

Nó có nghĩa là máy chủ của bạn không thể kết nối với thế giới bên ngoài

Điều này có thể sẽ không thay đổi bất cứ điều gì do các vấn đề DNS

Vì vậy, nếu bạn có quyền, hãy thử thay đổi máy chủ tên trong tệp /etc/resolv.conf của bạn thành máy chủ tên khác.

Đã trả lời ngày 19 tháng 11 năm 2013 lúc 7:00Nov 19, 2013 at 7:00

Hướng dẫn file_get_contents php_network_getaddresses: getaddrinfo failed: name or service not known - file_get_contents php_network_getaddresses: getaddrinfo không thành công: tên hoặc dịch vụ không được biết

Siraj Khansiraj KhanSiraj Khan

2.30816 Huy hiệu bạc18 Huy hiệu đồng16 silver badges18 bronze badges

2

Cũng cần phải có HTTPD được phép kết nối bên ngoài. Kiểm tra chính sách của bạn. Điều này giúp tôi giải quyết vấn đề kết nối:

setsebool -P nis_enabled 1
setsebool -P httpd_can_network_connect 1

Đã trả lời ngày 9 tháng 3 năm 2014 lúc 20:05Mar 9, 2014 at 20:05

Hướng dẫn file_get_contents php_network_getaddresses: getaddrinfo failed: name or service not known - file_get_contents php_network_getaddresses: getaddrinfo không thành công: tên hoặc dịch vụ không được biết

2

Liên quan đến một trong những bình luận của @Duzun và đối với những người như tôi đã quen thuộc với máy chủ nói chung nhưng không phải là chuyên ngành khoa học máy tính, tôi đã khắc phục sự cố trên Linux/Centos6 (PLESK ONYX) bởi:

1) Mở /etc/resolv.conf (tệp của tôi trống)

2) Đã thêm:

nameserver 8.8.8.8
nameserver 8.8.4.4

options rotate
options timeout:3

Hy vọng rằng điều này sẽ giúp ai đó ngoài kia.

Đã trả lời ngày 12 tháng 10 năm 2018 lúc 17:17Oct 12, 2018 at 17:17

Hướng dẫn file_get_contents php_network_getaddresses: getaddrinfo failed: name or service not known - file_get_contents php_network_getaddresses: getaddrinfo không thành công: tên hoặc dịch vụ không được biết

RasclattrasclattRasclatt

12.4K3 Huy hiệu vàng24 Huy hiệu bạc33 Huy hiệu đồng3 gold badges24 silver badges33 bronze badges

1

Dưới đây là lời khuyên trong trường hợp bạn đang sử dụng Docker Env cho ứng dụng web của mình. Tôi đã gặp sự cố tương tự khi tôi sử dụng hình ảnh Docker PHP, thêm các tùy chọn DNS trong tệp YML đã giải quyết vấn đề của tôi.Docker env for your web app. I had same problem when I used docker php image, added dns options in yml file solved my problem.

docker-compose.yml

version: '2'

services:
  webserver:
    build: ./docker/webserver
    image: my_webapp
    dns: 8.8.8.8
    dns_opt:
      - use-vc
      - no-tld-query
    ports:
      - 80:80
      - 443:443
    volumes:
      - ./:/var/www/html

Đã trả lời ngày 6 tháng 7 năm 2017 lúc 19:00Jul 6, 2017 at 19:00

Hướng dẫn file_get_contents php_network_getaddresses: getaddrinfo failed: name or service not known - file_get_contents php_network_getaddresses: getaddrinfo không thành công: tên hoặc dịch vụ không được biết

Nếu bạn đang sử dụng tên thay vì địa chỉ IP trong cuộc gọi smtp_host fsockopen () và máy chủ của bạn không thể giải quyết tên đó thành địa chỉ IP. Nếu có thể, hãy tìm ra IP của máy chủ mà bạn đang cố gắng kết nối và sử dụng nó thay thế. Hy vọng vì vậy nó sẽ hoạt động tốt. Thí dụExample

$config = Array(
    'protocol' => 'smtp',
    'smtp_host' => '166.62.73.4', // mail.servername.com
    'smtp_port' => 587,
    'smtp_timeout' => '7',
    'smtp_user' =>'',
    'smtp_pass' => 'password',
    '_smtp_auth'   => false,
    'mailtype'  => 'html', 
    'charset'   => 'iso-8859-1',
    'crlf' => '\r\n',
    'newline' => "\r\n"
            );

Đã trả lời ngày 4 tháng 7 năm 2019 lúc 9:26Jul 4, 2019 at 9:26

Hướng dẫn file_get_contents php_network_getaddresses: getaddrinfo failed: name or service not known - file_get_contents php_network_getaddresses: getaddrinfo không thành công: tên hoặc dịch vụ không được biết

Tôi đã có lỗi này, khi tôi có lỗi đánh máy trong URL. Tên miền phải tồn tại :-)

Đã trả lời ngày 7 tháng 11 năm 2021 lúc 19:58Nov 7, 2021 at 19:58

StanleydstanleydStanleyD

2.26821 Huy hiệu bạc20 Huy hiệu đồng21 silver badges20 bronze badges

1