Tập tin php cần những quyền gì?

Trên hầu hết các máy chủ Apache, PHP chạy như một mô-đun Apache. Đây là phương pháp cài đặt mặc định. Nhiều máy chủ có thiết lập này vì nó là mặc định và có khả năng họ không nhận ra rằng cũng có thể định cấu hình PHP dưới dạng CGI. Chạy PHP dưới dạng CGI có thể an toàn hơn đồng thời tránh các vấn đề về quyền sở hữu tệp và thư mục

PHPSuExec cung cấp cơ sở để có tất cả các tập lệnh chạy tài khoản người dùng có liên quan thay vì trong tài khoản Máy chủ Web. Cơ sở này cho phép Quản trị viên máy chủ cô lập và quản lý việc sử dụng tập lệnh độc hại hoặc bỏ chạy rất nhanh, tránh các tập lệnh không mong muốn hoặc không được phép chạy trong một khoảng thời gian dài

phpSuExec làm gì?

777 Quyền

Với các cấu hình không phải phpSuExec, PHP chạy dưới dạng Mô-đun Apache, nó thực thi với tư cách là người dùng/nhóm của máy chủ web thường là "nobody", "httpd" hoặc "apache". Trong chế độ này, các tệp hoặc thư mục mà bạn yêu cầu tập lệnh php của mình để có thể ghi cần có 777 quyền (đọc/ghi/thực thi ở cấp độ người dùng/nhóm/thế giới). Điều này không an toàn lắm vì nó cho phép máy chủ web ghi vào tệp, nó cũng cho phép bất kỳ ai khác đọc hoặc ghi vào tệp

Trong cấu hình phpSuExec, PHP chạy dưới dạng CGI có bật "suexec" (su = người dùng chuyển đổi, cho phép một người dùng "chuyển đổi" sang người dùng khác nếu được phép) - Các tập lệnh php của bạn hiện thực thi ở cấp độ người dùng/nhóm của riêng bạn. Các tệp hoặc thư mục mà bạn yêu cầu tập lệnh php của mình để có thể ghi vào không còn cần phải có quyền 777 nữa. Trên thực tế, 777 quyền không còn được phép nữa, có 777 quyền trên tập lệnh của bạn hoặc thư mục chứa chúng sẽ không chạy và thay vào đó sẽ gây ra "500 lỗi máy chủ nội bộ" khi cố gắng thực thi chúng, điều này được thực hiện để bảo vệ bạn khỏi ai đó . Tập lệnh và thư mục của bạn hiện có thể, chỉ có tối đa 755 quyền (bạn đọc/ghi/thực thi, người khác đọc/thực thi)

Tạm biệt ". htaccess" và Chào mừng ". ini"

Trong chế độ Mô-đun Apache cũ, có thể thao tác cài đặt PHP từ bên trong một ". htaccess" được đặt trong thư mục cấp cao nhất của tập lệnh, điều này cũng được áp dụng đệ quy cho tất cả các thư mục khác bên dưới nó

 For example you could turn on the php setting "magic_quotes_gpc" with this line in .htaccess:
 php_value magic_quotes_gpc on

Bây giờ, khi PHP đang chạy dưới dạng CGI và phpSuExec được bảo vệ, thao tác cài đặt PHP vẫn có thể thực hiện được tuy nhiên bạn không còn có thể sử dụng một ". htaccess" tập tin. sử dụng. htaccess với tiền tố PHP bắt buộc là "php_value" sẽ gây ra "lỗi máy chủ nội bộ 500" khi cố gắng truy cập tập lệnh. Điều này là do php không còn chạy dưới dạng mô-đun Apache, do đó Apache không thể xử lý các lệnh đó nữa

Nếu máy chủ của bạn đã hoặc đang triển khai phpSuExec, TẤT CẢ các giá trị php sẽ bị xóa khỏi máy chủ của bạn. htaccess để tránh lỗi 500 máy chủ nội bộ. Thay vào đó, bây giờ bạn sẽ tạo và sử dụng "Local php" của riêng bạn. ini" để thao tác cài đặt php mong muốn

php là gì. tập tin ini?

php. ini là tệp cấu hình mà máy chủ xem xét để xem tùy chọn PHP nào đã được cung cấp cho máy chủ hoặc cài đặt của chúng là gì, nếu khác với php mặc định của máy chủ. ban đầu. Mặc dù cái tên này có vẻ cao cấp đối với những người không quen thuộc với nó, nhưng thực chất nó là một tệp văn bản đơn giản có tên php. ban đầu

Làm thế nào để tạo một php. tập tin ini

Để tạo một php. ini, chỉ cần mở trình soạn thảo văn bản, thêm vào các dòng bạn cần và lưu tệp. Bạn có thể đặt tên cho tệp bất cứ điều gì bạn muốn khi lưu, để đảm bảo chế độ truyền FTP chính xác được sử dụng, bạn có thể đặt tên cho nó là "php. ban đầu. txt". Khi bạn đã định cấu hình tất cả các cài đặt của mình, hãy tải tệp lên thư mục chứa tập lệnh của bạn rồi đổi tên lại thành php. ban đầu

 For example you can turn on the php setting "magic_quotes_gpc" with this line in php.ini:
 magic_quotes_gpc = on

Trong nhiều trường hợp, bạn có thể cần phải có nhiều bản sao của cùng một tệp php. ini trong các thư mục khác nhau, không giống như. tập tin htaccess, php. ini không được áp dụng đệ quy cho các thư mục thấp hơn. Nếu bạn cũng cần chức năng tương tự trên tất cả các thư mục thấp hơn, thì bạn sẽ cần sao chép tệp php. ini lần lượt từng thư mục sẽ có. tập lệnh php chạy từ bên trong chúng

Đang khắc phục sự cố, đã xảy ra sự cố

Tập lệnh php của tôi không hoạt động hoặc tôi có thông báo lỗi

  1. Kiểm tra xem tập lệnh php mà bạn đang cố thực thi có quyền không quá 755 không.
    644 sẽ hoạt động bình thường, đây không phải là thứ cần phải thay đổi trong hầu hết các trường hợp.
    1. Kiểm tra xem quyền thư mục mà tập lệnh nằm trong đó có được đặt tối đa là 755 không.
      Điều này cũng bao gồm các thư mục mà tập lệnh cũng cần có quyền truy cập.
      1. Kiểm tra xem bạn không có. htaccess với php_values ​​bên trong nó.
        Chúng sẽ gây ra lỗi 500 Máy chủ nội bộ khi cố thực thi tập lệnh.
        Các giá trị php_value sẽ cần được xóa khỏi tệp của bạn. htaccess và một tệp php. ini vào vị trí của nó,
        chứa các lệnh php như đã giải thích ở trên.


Kịch bản của tôi yêu cầu 777

Vậy còn các tập lệnh php nói rằng chúng yêu cầu 777 quyền trên một số thư mục hoặc tệp của chúng để hoạt động, chẳng hạn như Joomla. , Diễn đàn, thư viện ảnh và giống nhau? . Điều này là do, giờ đây máy chủ web chạy dưới tài khoản người dùng của riêng bạn, chỉ tài khoản người dùng của riêng bạn mới cần có đầy đủ quyền ghi và thực thi

Các quy tắc này đã được áp dụng cho. cgi và. pl trong lịch sử và hiện cũng đang được áp dụng các tệp php

Lấy từ "https. // tài liệu. joomla. tổ chức/chỉ mục. php?title=How_do_phpSuExec_file_permissions_work%3F/en&oldid=908266"

Tập tin PHP nên có những quyền gì?

php để người dùng có thể đọc và viết, đọc theo nhóm. Thay đổi quyền sở hữu tệp. .
Chủ sở hữu 6 sẽ là người tải lên các tệp
Nhóm 4 sẽ là nhóm phục vụ tệp. Biến apache thành thành viên nhóm
không ai 0 có nghĩa là không có người dùng nào khác có thể đọc tệp này

Số bát phân nào được sử dụng để đọc và thực thi quyền trong PHP?

Tham số "chế độ" bao gồm ba thành phần số bát phân. hạn chế truy cập cho chủ sở hữu, nhóm người dùng mà chủ sở hữu tham gia và mọi người khác theo thứ tự này. Số 1 có nghĩa là chúng tôi cấp quyền thực thi, số 2 có nghĩa là chúng tôi làm cho tệp có thể ghi được và số 4 có nghĩa là chúng tôi làm cho tệp có thể đọc được.

PHP có phải là một thư mục có thể ghi được không?

PHP. hàm is_writable() . Tên thư mục cũng có thể là tham số của hàm is_writable() cho phép kiểm tra xem thư mục có thể ghi hay không .

Các tệp PHP nên được lưu ở đâu?

php. Đảm bảo bạn lưu tệp vào thư mục gốc tài liệu “máy chủ” của bạn . Thông thường, đây là thư mục có tên “htdocs” trong thư mục Apache của bạn trên Windows hoặc /Library/Webserver/Documents trên Mac, nhưng người dùng có thể đặt thủ công.