đôi khi bạn cài extetion của php vào trong maý của bạn, nhưng máy bạn lại phàn nàn và máy bạn không đồng ý :D bạn có thể thử dùng cách trong bài viết.

Lỗi Cài đặt Tiện ích mở rộng PHP và PECL trên MacOS

2021-06-28 929 lượt xem

pecl error mkdir

Khi cài đặt MacOS mới, tôi gặp lỗi:

Warning: mkdir(): File exists in System.php on line 294
PHP Warning:  mkdir(): File exists in /usr/local/Cellar/php/7.3.3/share/php/pear/System.php on line 294

Warning: mkdir(): File exists in /usr/local/Cellar/php/7.3.3/share/php/pear/System.php on line 294
ERROR: failed to mkdir /usr/local/Cellar/php/7.3.3/pecl/20180731

lỗi đó được mô phỏng là 1 lỗi kiểu như không thẻ tạo thư mục. và việc của bạn là nó không tạo được bằng script thì bạn tạo giùm nó luôn cho nó máu 😄 

# lệnh copy cái đường dẫn gì đấy bị lỗi
pecl config-get ext_dir | pbcopy 
# lệnh tạo cái đường dẫ vừa copy
mkdir -p {paste cái đường dẫn đã copy ở trên}

thử cài lại Extentionmở rộng PECL

Bây giờ bạn có thể đơn giản chạy pecl install {extension name}, đây là một số ví dụ:
# cài driver kết nối mongodb 
sudo pecl install mongodb 
# cài imagick cho ảnh
pecl install imagick 

Cảnh báo quan trọng

bạn lưu ý cái pecl bạn tạo 1 folder ở đâu thì cái file sẽ được tạo ra ở đó, còn php của bạn có đường dẫn config đôi khi không khớp với cái thư mục pecl tạo ra. Bạn lưu ý để khi điền extension không trật

Ví dụ: 

mình có gõ cái lệnh này ở trên: 

pecl config-get ext_dir | pbcopy

sau đó được 1 cái đường dẫn : /usr/local/lib/php/pecl/20180731

mình lại gõ :  mkdir -p /usr/local/lib/php/pecl/20180731

thì khi tạo extention ví dụ mongo driver thì mình sẽ tìm cái chỗ extention như này: 

sửa lại thành vầy : 

extension = /usr/local/lib/php/pecl/20180731/mongodb.so

Nhớ restart php lại để nạp mới extion nghen! 

những tag