Cảnh báo PHP: Khởi động PHP: Không thể tải thư viện động


1

Tôi đã thấy khá nhiều bài viết ở đây về vấn đề này, nhưng vẫn chưa hiểu điều gì sai với thiết lập của tôi. Đây là những gì tôi nhận được khi cố gắng chạy bất cứ thứ gì với PHP:

Sat Sep 02 - 12:11 PM > php -version
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php/20151012/tidy.dll' - No such file or directory in Unknown on line 0
PHP 7.0.19 (cli) (built: May 14 2017 03:08:04) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies

Các tidy.dllđược tham chiếu trong này initập tin

Sat Sep 02 - 12:11 PM > cat /etc/php.d/tidy.ini
extension = tidy.dll

Đây là extension_dirđịnh nghĩa của tôi :

Sat Sep 02 - 12:12 PM > php -i | grep extension_dir
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php/20151012/tidy.dll' - No such file or directory in Unknown on line 0
extension_dir => /usr/lib/php/20151012 => /usr/lib/php/20151012

Các quyền trong thư mục đó có vẻ ổn.

Sat Sep 02 - 12:12 PM > ls -la /usr/lib/php/20151012
total 2228
drwxr-xr-x+ 1 RobertMarkBram None      0 Aug 31 21:20 .
drwxr-xr-x+ 1 RobertMarkBram None      0 Apr 13 15:25 ..
-rwxr-xr-x  1 RobertMarkBram None  15389 May 14 18:27 ctype.dll
-rwxr-xr-x  1 RobertMarkBram None  81949 May 14 18:27 curl.dll
-rwxr-xr-x  1 RobertMarkBram None  76829 May 14 18:27 gd.dll
-rwxr-xr-x  1 RobertMarkBram None 956957 May 14 18:27 imap.dll
-rwxr-xr-x  1 RobertMarkBram None 426013 May 14 18:27 intl.dll
-rwxr-xr-x  1 RobertMarkBram None  36381 May 14 18:27 json.dll
-rwxr-xr-x  1 RobertMarkBram None  35357 May 14 18:27 mcrypt.dll
-rwxr-xr-x  1 RobertMarkBram None 110621 May 14 18:27 mysqli.dll
-rwxr-xr-x  1 RobertMarkBram None  27165 May 14 18:27 pdo_mysql.dll
-rwxr-xr-x  1 RobertMarkBram None 271389 May 14 18:27 phar.dll
-rwxr-xr-x  1 RobertMarkBram None  19485 May 14 18:27 pspell.dll
-rwxr-xr-x  1 RobertMarkBram None  10781 May 14 18:27 recode.dll
-rwxr-xr-x  1 RobertMarkBram None  43549 May 14 18:27 tidy.dll
-rwxr-xr-x  1 RobertMarkBram None  21021 May 14 18:27 tokenizer.dll
-rwxr-xr-x  1 RobertMarkBram None  81949 May 14 18:27 xmlrpc.dll
-rwxr-xr-x  1 RobertMarkBram None  27677 May 14 18:27 xsl.dll

Và chỉ nhìn vào các ACL tidy.dll, tôi không thấy có vấn đề gì.

Sat Sep 02 - 12:13 PM > getfacl /usr/lib/php/20151012/tidy.dll
# file: /usr/lib/php/20151012/tidy.dll
# owner: RobertMarkBram
# group: None
user::rwx
group::r-x
other:r-x

đầu ra là rebase -si |grep tidy.dllgì?
matzeri

rebase -si | grep tidy.dllđã cho/usr/lib/php/20151012/tidy.dll base 0x0f4d0000 size 0x00012000
Robert Mark Bram

Câu trả lời:


1

0x0f4d0000 là một địa chỉ rất thấp và tidy.dll đang va chạm với các tài nguyên khác hoặc với chính chương trình để tải tại địa chỉ đó; vì vậy nó không thể được tải

Khi bạn có cài đặt 32 bit: bạn có quá nhiều chương trình được cài đặt và chúng làm cạn kiệt không gian địa chỉ có sẵn.
Việc phân bổ địa chỉ dll bắt đầu từ 0x6fff .... và đang đi xuống, vì vậy bạn đã tiêu thụ tất cả.

Bạn có thể nhìn vào /proc/self/mapshoặc /proc/<pid>/mapsxem để phân bổ không gian địa chỉ.

Các giải pháp khả thi:
1 giảm rất nhiều số lượng chương trình đã cài đặt và xóa mọi thứ bạn không cần. Sau đó, bạn cần kích hoạt rebase đầy đủ, xem https://cygwin.com/faq.html#faq.USE.fixing-fork-failures
hoặc 2 chuyển sang cài đặt 64 bit

Cygwin cung cấp hơn 8000 gói nhưng không chắc bạn cần nhiều hơn 2000.

Cuộc thảo luận gần đây về vấn đề tương tự trên danh sách gửi thư của Cygwin
https://cygwin.com/ml/cygwin/2017-08/msg00265.html


Vậy ... đây không phải là vấn đề về quyền, nó là vấn đề 32 bit? Không bao giờ nghĩ rằng tôi sẽ thấy một vấn đề như vậy.
Robert Mark Bram

1
Bạn không thấy nó trên một hệ thống Unix / Linux thực sự. Đó là hậu quả của việc giới hạn cửa sổ đối với cygwin đối với việc triển khai ngã ba. Mỗi dll được ánh xạ tới một địa chỉ khác nhau, do đó, quá nhiều dll sẽ làm cạn kiệt không gian địa chỉ có sẵn.
matzeri

Đã 64-bit. Khoảng thời gian.
Robert Mark Bram
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.