Việc sử dụng biến tệp trong PHP là gì?

Một số tùy chọn trang web không thể được đặt trong khu vực quản trị mà cần được cập nhật trực tiếp trên máy chủ trong tệp config.php. Trong phần này, bạn sẽ thấy các cài đặt có thể thực hiện được và tại sao bạn có thể muốn đưa chúng vào tệp config.php cho trang web của mình

bemerkung

Một số tham số cấu hình có cài đặt tương đương trong khu vực Quản trị. Nếu bạn đặt một giá trị rõ ràng trong tệp ________ 0 của mình, nó sẽ ghi đè lên bất kỳ giá trị nào được nhập trong phần quản trị và trường này sẽ không khả dụng để chỉnh sửa

Tệp config.php nằm trong thư mục /htdocs trên trang web của bạn. Nếu bạn muốn xem tất cả các biến có thể có và giá trị mặc định của chúng, bạn có thể tìm thấy chúng trong /htdocs/lib/config-defaults.php. Bạn có thể ghi đè lên bất kỳ giá trị mặc định nào bằng cách đặt biến vào tệp config.php của mình

17. 1. Cấu tạo của một biến cấu hình

Một biến cấu hình cần được viết đúng cú pháp để hoạt động. Ở Mahara, điều này được thực hiện theo cách sau. $cfg->variable = value;

Một biến cấu hình điển hình

  1. $cfg->. Viết tắt của 'cấu hình' và chỉ ra rằng những gì theo sau là một biến cấu hình

  2. biến =. Ở đây bạn thấy biến sẽ được đặt. Nói chung, nó bao gồm một từ hoặc các từ được nối với nhau bằng dấu gạch dưới. Biến không thể chứa bất kỳ khoảng trắng nào

  3. giá trị;. Giá trị mà biến nhận được hiển thị. Các giá trị có thể là những thứ khác nhau, ví dụ

    • ,đúng hay sai'

    • chữ

    • con số

    • đường dẫn tập tin

bemerkung

Nếu bạn muốn thay đổi hành vi mặc định của một biến trong phiên bản Mahara của mình, hãy sao chép nó từ tệp config-defaults.php vào tệp config.php của bạn để nó không bị ghi đè khi bạn cập nhật cơ sở mã. Tệp config.php không bao giờ bị thay đổi bởi bản cập nhật hoặc nâng cấp của Mahara

17. 2. chế độ nhà phát triển. Bật hoặc tắt chế độ nhà phát triển

Chế độ nhà phát triển không khả dụng nữa do MochiKit đã bị xóa cách đây một thời gian

17. 3. quyền thư mục. Quyền sử dụng trong dataroot

config.php1 [mặc định]

Bạn có thể đặt quyền nào được sử dụng cho tệp và thư mục trong cơ sở dữ liệu Mahara. Mặc định chỉ cho phép tài khoản máy chủ web đọc dữ liệu. Nếu bạn đang sử dụng dịch vụ lưu trữ được chia sẻ và có thể muốn tải xuống nội dung của cơ sở dữ liệu của mình sau, hãy. g. cho mục đích sao lưu, đặt giá trị này thành 0755. Còn không thì để nguyên

17. 4. báo cáo lỗi. Báo lỗi

config.php2 [mặc định]

Tham số này cho biết mức độ lỗi cần in vào nhật ký Mahara. Nó được chuyển trực tiếp đến hàm PHP config.php3

bemerkung

Có một số hạn chế trong phương pháp này vì nó không được gọi cho đến khi một số tập lệnh đã được biên dịch. config.php4 và tệp được gọi trực tiếp trong URL. Vì vậy, lỗi thời gian biên dịch trong các tệp đó, bao gồm hầu hết các lỗi nghiêm trọng, sẽ không bị ảnh hưởng bởi cài đặt này

17. 5. đăng nhập bên ngoài. Đăng nhập qua một trang web khác

config.php5

Bạn có thể ghi đè lên trang đăng nhập Mahara bình thường bằng cách cung cấp một trang bên ngoài. Điều này hữu ích nếu tất cả những người có quyền truy cập vào trang web sẽ đăng nhập qua một hệ thống khác và sẽ tự động được chuyển hướng đến đó

bemerkung

Hãy cẩn thận khi bạn bật nhiều tổ chức. Nếu ít nhất một tổ chức không đăng nhập qua cùng một trang đăng nhập bên ngoài, thì bạn không thể sử dụng cài đặt này vì mọi người trong tổ chức đó sẽ không thể đăng nhập vào Mahara vì họ không bao giờ có thể truy cập trang đăng nhập mà họ cần

Nếu bạn sử dụng thông tin đăng nhập bên ngoài, đôi khi bạn có thể cần phải ghi đè lên, e. g. để khắc phục sự cố phương thức xác thực bên ngoài hoặc khi không thể truy cập được. Bạn có thể thêm một tham số vào cuối Mahara URL. Sau đó, bạn được đưa đến màn hình đăng nhập Mahara bình thường

Tham số là config.php6

Ví dụ: https. // mahara. ví dụ. com/admin/người dùng/tìm kiếm. php ?override=true

bemerkung

Không quan trọng bạn thêm giá trị gì. Bạn có thể sử dụng 'true' hoặc ‚1' hoặc bất cứ thứ gì khác

17. 6. insecuredataroot. Chia sẻ cùng một dataroot với một Mahara khác

config.php7 [mặc định] hoặc config.php8

Bạn có thể bắt buộc kiểm tra xem các tệp được cung cấp có đến từ dataroot không. Bạn sẽ chỉ muốn bật tính năng này nếu bạn đang chạy nhiều Mahara trên cùng một cơ sở dữ liệu. Nếu bạn đang làm điều đó, hãy đảm bảo rằng bạn tạo các cơ sở dữ liệu riêng biệt cho mỗi lần cài đặt, nhưng liên kết tượng trưng thư mục vật phẩm từ tất cả chúng với một trong số chúng và bật 'insecuredataroot' trên tất cả những cái mà bạn đã tạo liên kết tượng trưng

17. 7. các tổ chức bị cô lập. Tách biệt hoàn toàn các tổ chức

config.php9 [mặc định] hoặc config.php0

Nếu bạn có một phiên bản Mahara nhiều người thuê nhưng không muốn mọi người từ các tổ chức riêng lẻ giao tiếp trên trang web hoặc chia sẻ nhóm, bạn có thể bật 'Các tổ chức bị cô lập'

Điều này có thể hữu ích khi bạn thiết lập một trang web lớn cho nhiều tổ chức và cần tuân thủ các quy định về quyền riêng tư không cho phép mọi người từ một tổ chức liên hệ với những người từ các tổ chức khác

Siehe auch

Xem phần để biết thêm thông tin

17. 8. log_backtrace_levels. Nhật ký vết lùi

Ví dụ. config.php1 [mặc định]

Các cấp nhật ký sẽ tạo dấu vết ngược. Hữu ích cho sự phát triển, nhưng có lẽ chỉ những cảnh báo hữu ích trên trang web trực tiếp

17. 9. log_backtrace_print_args. Nhật ký vết lùi

config.php2 [mặc định]

In các giá trị của hàm và đối số phương thức khi in backtrace. Điều này có thể hữu ích cho việc gỡ lỗi, nhưng đó là rủi ro bảo mật vì các tham số chức năng có thể bao gồm dữ liệu nhạy cảm như mật khẩu và khóa riêng. Mặc dù các đối số có tên gợi ý rằng chúng chứa mật khẩu, vẫn sẽ bị bỏ trống ngay cả khi tính năng này được bật

Giá trị config.php3 ở đây yêu cầu Mahara ẩn các giá trị đối số khi config.php4 được bật và hiển thị chúng nếu không. Một config.php5 hoặc config.php6 yêu cầu Mahara luôn hiển thị hoặc ẩn các giá trị đối số trong dấu vết ngược bất kể giá trị của config.php4

17. 10. log_file. Tệp chứa thông báo lỗi

config.php8

Nếu bạn sử dụng LOG_TARGET_FILE, thì đây là tệp sẽ được ghi lại lỗi. Mặc định nó sẽ ghi vào file config.php9 dưới dataroot. Nếu bạn thay đổi điều này trong cấu hình. php, đảm bảo bạn sử dụng thư mục mà máy chủ web có thể ghi

17. 11. ghi mục tiêu. Đích đến của thông tin nhật ký

Môi trường sản xuất điển hình

config.php0

config.php1

config.php2

Môi trường phi sản xuất điển hình

config.php3

config.php4

config.php5

config.php6

Có 4 loại thông báo nhật ký khác nhau mà bạn có thể ghi nhật ký lỗi và/hoặc hiển thị trên màn hình

  • dbg. Gỡ lỗi tin nhắn

  • thông tin. tin nhắn thông tin

  • cảnh báo. Thông báo cảnh báo

  • môi trường. Lỗi môi trường

Bạn có thể ghi các tin nhắn khác nhau đến các đích khác nhau

  • LOG_TARGET_SCREEN. Hiển thị thông báo lỗi trên màn hình. Điều này hữu ích trong quá trình thử nghiệm và khi gỡ lỗi, nhưng không được sử dụng trên trang web trực tiếp

  • LOG_TARGET_ADMIN. Hiển thị thông báo lỗi trên màn hình, nhưng chỉ khi bạn ở khu vực Quản trị

  • LOG_TARGET_ERRORLOG. Gửi thông tin nhật ký tới nhật ký lỗi như được chỉ định trong cấu hình Apache của bạn. Bạn nên sử dụng cài đặt này cho tất cả các cấp nhật ký bất kể các mục tiêu khác mà bạn đã chỉ định

  • LOG_TARGET_FILE. Điều này cho phép bạn chỉ định một tệp mà tin nhắn sẽ được ghi lại. Tốt nhất là chọn một đường dẫn trong dataroot, nhưng lưu ý rằng các tệp nhật ký có xu hướng trở nên rất lớn theo thời gian. Vì vậy, bạn nên triển khai một số loại logrotate nếu bạn muốn để nó hoạt động mọi lúc. Tùy chọn khác là chỉ bật tùy chọn này khi bạn gặp một lỗi cụ thể hoặc muốn xem nhật ký và biết rằng bạn sẽ không để tệp nhật ký trở nên lớn

Bạn có thể kết hợp các mục tiêu với hoạt động bitwise, e. g. config.php7

17. 12. noreplyaddress. Địa chỉ email hệ thống

config.php8

Đặt địa chỉ thư hệ thống. Thông báo được gửi từ địa chỉ này [ngoại trừ một số email khi một người chưa có tài khoản]. Bạn cũng có thể đặt nó trong menu Quản trị → Định cấu hình trang → Tùy chọn trang → Cài đặt email

Thông thường, địa chỉ không trả lời là địa chỉ không được theo dõi vì mọi người không được phép trả lời địa chỉ đó

17. 13. openbadgedisplayer_source. Mở các nguồn trình hiển thị Huy hiệu

config.php9

Để hiển thị Huy hiệu mở trong , các trang web lưu trữ huy hiệu cần phải được định cấu hình. Theo mặc định, Mozilla Backpack và Open Badge Passport có thể được kết nối. Nếu bạn có các nguồn khác, bạn cần thêm chúng vào các nguồn được phép

Badgr cũng có thể được cấu hình

Biến cấu hình cho The Backpack, Open Badge Passport và Badgr giống như sau

/htdocs0

17. 14. mật khẩusaltmain. Đặt muối mật khẩu toàn trang web

/htdocs1

Muối mật khẩu giúp 'băm' mật khẩu an toàn hơn trong cơ sở dữ liệu để khiến việc hack chúng trở nên khó khăn hơn. Sử dụng một cụm từ là một khởi đầu tốt. Mật khẩu đã không được hiển thị ở dạng văn bản thuần túy trong cơ sở dữ liệu, chúng được băm. Muối giúp ngẫu nhiên hóa điều đó nhiều hơn

Nếu bạn chưa đặt muối mật khẩu, bạn sẽ thấy cảnh báo trên trang

17. 15. pathtoclam. Đường dẫn đến trình quét vi-rút ClamAV

/htdocs2

Nếu bạn đang chạy công cụ chống vi-rút ClamAV trên máy chủ của mình và không quét vi-rút ở cấp độ hệ thống, bạn có thể cho Mahara biết nơi tìm vi-rút để quét các tệp đã tải lên. Vì lý do bảo mật, đường dẫn đến ClamAV trên máy chủ của bạn cần được cung cấp trong tệp config.php

Bạn có thể thấy đường dẫn đã được thiết lập trong

17. 16. đã bật chế độ thử việc. Cấp cho mọi người trạng thái thử việc

/htdocs4 hoặc /htdocs5

Nếu /htdocs4, bạn cũng nên đặt /htdocs7

Bạn có thể đặt cho chủ tài khoản của mình để ngăn những người tự đăng ký đăng spam, đặc biệt là trên trang web công cộng. Sử dụng hai biến sau để làm điều đó

  • /htdocs4. Cài đặt này quyết định xem mọi người có thể bị quản chế hay không

  • /htdocs7. Cài đặt này xác định số điểm quản chế mà một người mới tự đăng ký có theo mặc định. Trong ví dụ này, mọi người sẽ nhận được hai điểm thử việc mà họ cần phải loại bỏ trước khi tất cả các chức năng có sẵn cho họ

Bạn có thể thay đổi từng điểm quản chế trên màn hình hiển thị bằng cách nhấp vào tên người dùng của một người trong menu Quản trị → Mọi người → Tìm kiếm người

Khi bạn kích hoạt quản chế, những người để lại nhận xét trên một trang hoặc vật phẩm và không đăng nhập, cũng không thể đăng URL

17. 17. chế độ sản xuất. Bật hoặc tắt chế độ sản xuất

/htdocs/lib/config-defaults.php0 hoặc /htdocs/lib/config-defaults.php1

Nếu chế độ sản xuất bị tắt, một thông báo sẽ hiển thị ở đầu màn hình cảnh báo về hiệu ứng đó

Thông báo thông tin khi trang web không ở chế độ sản xuất

Một số tham số được ghi đè bằng giá trị mặc định hợp lý cho trang web thử nghiệm hoặc phát triển. Để biết danh sách tham số hiện tại, vui lòng xem /htdocs/lib/config-defaults.php2. Các cài đặt này bao gồm

  • In các thông báo gỡ lỗi, thông tin và cảnh báo cũng như các mục tiêu môi trường ra màn hình và nhật ký lỗi. Điều này giúp xem các thông báo lỗi một cách nhanh chóng khi chúng xuất hiện trực tiếp trên màn hình

  • Bật

  • Vô hiệu hóa bộ nhớ cache

bemerkung

Nghịch lý thay, bạn sẽ cần đặt /htdocs/lib/config-defaults.php3 nếu bạn muốn tinh chỉnh cài đặt của mình trên trang web thử nghiệm/phát triển vì /htdocs/lib/config-defaults.php4 sẽ ghi đè nhiều cài đặt với mặc định của chế độ nhà phát triển hợp lý

17. 18. remoteavatarbaseurl. URL máy chủ hình đại diện từ xa

/htdocs/lib/config-defaults.php5

Ảnh hồ sơ của chủ tài khoản của bạn có thể được lấy từ dịch vụ hình đại diện, chẳng hạn như Gravatar. Nếu bạn điều hành dịch vụ của riêng mình. e. g. Libravatar, bạn có thể trỏ Mahara trực tiếp tới nó bằng biến cấu hình này

Bạn quyết định xem avatar từ xa có thể được hiển thị hay không

17. 19. đổi tên bản sao. Đổi tên các trang và bộ sưu tập đã sao chép

/htdocs/lib/config-defaults.php6 hoặc /htdocs/lib/config-defaults.php7

Quản trị viên trang web có thể quyết định thêm 'Bản sao của...' cho các trang và bộ sưu tập được sao chép. Nếu /htdocs/lib/config-defaults.php6, bản sao của các trang và bộ sưu tập mới sẽ có 'Bản sao' ở trước tiêu đề của chúng. Cài đặt mặc định là /htdocs/lib/config-defaults.php7

17. 20. saml_log_attributes. Ghi thuộc tính SAML

config.php0 [mặc định] hoặc config.php1

Khi cần điều tra kết nối giữa Mahara và IdP SSO, điều này giúp xem những thuộc tính nào đang được gửi từ IdP. Bằng cách đặt biến này thành ‚true‘, các thuộc tính được đăng nhập vào bảng ‚usr_login_saml‘

cảnh báo

Sau khi chẩn đoán đã được thực hiện và sự cố đã được khắc phục, hãy đặt lại biến này thành 'false' và xóa bảng

17. 21. gửi thư. Gửi email

config.php2 hoặc config.php3

Quyết định xem bạn có muốn gửi email từ phiên bản Mahara của mình không. Nếu đặt thành false, Mahara sẽ không gửi bất kỳ email nào. Điều này hữu ích khi thiết lập một phiên bản Mahara phi sản xuất với dữ liệu thực mà bạn không muốn vô tình gửi email cho những người từ phiên bản Mahara cụ thể này

17. 22. sendallemailto. Gửi tất cả email đến một địa chỉ

config.php4

Bạn có thể sử dụng cài đặt này để gửi tất cả email từ phiên bản Mahara này đến một địa chỉ email cụ thể thay vì người nhận thực sự của họ. Để lại config.php2 nếu bạn muốn sử dụng cài đặt này

Cài đặt này hữu ích cho các trường hợp thử nghiệm khi bạn muốn sao chép một vấn đề hoặc thử nghiệm một tính năng mới với dữ liệu thực, nhưng không muốn mọi người vô tình nhận được thông báo

17. 23. trình xử lý phiên. Chọn trình xử lý phiên

config.php6 hoặc config.php7 hoặc config.php8

Mahara hỗ trợ ba trình xử lý phiên khác nhau

  • lưu trữ tập tin

  • Memcached

  • làm lại

Memcached và Redis được khuyến nghị cho các trang web lớn vì dữ liệu được truy cập nhanh hơn. Redis có lợi trong môi trường cụm

Cả Memcached và Redis đều yêu cầu đặt thêm một vài biến cấu hình. Vui lòng xem lại /htdocs/lib/config-defaults.php để biết thêm thông tin

17. 24. showloginsideblock. Hiển thị hoặc ẩn thanh bên đăng nhập

$cfg->variable = value;0 hoặc $cfg->variable = value;1

Bạn có thể ẩn biểu mẫu đăng nhập bằng cách thêm giá trị $cfg->variable = value;1 vào tệp config.php của mình. Khi bạn đã hoàn thành việc đó, chỉ một liên kết đến biểu mẫu đăng nhập được hiển thị cho quản trị viên hoặc những người khác có tài khoản Mahara nội bộ để đăng nhập vào trang web

Liên kết đến hình thức đăng nhập

Điều này hữu ích nếu bạn đã thiết lập đăng nhập một lần và tự động đăng nhập vào Mahara qua một trang web khác

Theo mặc định, giá trị được đặt thành ‚true‘ để khối bên đăng nhập được hiển thị

17. 25. sitethemeprefs. Chọn chủ đề duyệt của bạn từ bất kỳ chủ đề nào

$cfg->variable = value;4 hoặc $cfg->variable = value;5

Nếu quản trị viên trang cho phép, bạn có thể chọn bất kỳ chủ đề nào có sẵn làm chủ đề duyệt trên trang của mình. Trong trường hợp đó, bạn không bị hạn chế chỉ sử dụng chủ đề tổ chức của mình hoặc nếu bạn là thành viên của nhiều tổ chức, hãy chọn giữa chúng

17. 26. giao diện. Da

$cfg->variable = value;6 hoặc $cfg->variable = value;7

Bạn có thể cho phép các tác giả danh mục đầu tư của mình cá nhân hóa các trang danh mục đầu tư của họ ngoài việc chọn chủ đề. Điều này được thực hiện thông qua ở Mahara. Da có thể được tạo trên hoặc bởi các cá nhân. Các tổ chức có thể cho các thành viên của họ

17. 27. bí mật url. Chỉ chạy cron hoặc nâng cấp khi bạn được phép

$cfg->variable = value;8

Nếu không có biến cấu hình này, bất kỳ ai cũng có thể chạy công việc định kỳ [tác vụ theo lịch trình] trên trang web của bạn hoặc bản nâng cấp có khả năng gây ra sự cố

Đặt biến này vào tệp config.php của bạn để ghi đè lên giá trị mặc định. Chọn cụm từ bí mật của riêng bạn [đặt nó trong dấu ngoặc kép] chỉ chọn một số ít người biết ai được phép chạy cron hoặc nâng cấp

Bất cứ khi nào bạn muốn chạy cron hoặc thực hiện nâng cấp, bạn cần thêm từ bí mật của mình vào cuối URL. Sau đó, các URL cho cron và bản nâng cấp trông như thế này [thay thế 'somesecret' bằng từ bí mật của riêng bạn]

  • cron. /lib/cron. php?urlsecret=somesecret

  • nâng cấp. /admin/nâng cấp. php?urlsecret=somesecret

bemerkung

Khi bạn có phiên bản dành cho nhà phát triển hoặc máy chủ thử nghiệm phía sau tường lửa, bạn có thể không muốn thêm urlsecret mỗi lần, đặc biệt khi bạn là người duy nhất có quyền truy cập vào các trang web đó. Bạn có thể đặt config-defaults.php0 vào tệp config.php cho các trang web này và bỏ qua yêu cầu nhập cụm từ bí mật. Tuy nhiên, bạn không nên sử dụng nó trên trang web sản xuất hoặc bất kỳ trang web nào khác mà nhiều người có thể truy cập được

17. 28. usepdfexport. Xuất PDF

config-defaults.php2 hoặc config-defaults.php3

bemerkung

Đây là một tính năng thử nghiệm

Có thể cho phép xuất toàn bộ tài khoản hoặc các trang và bộ sưu tập riêng lẻ thành PDF. Điều này yêu cầu phần mềm bổ sung được cài đặt trên máy chủ, có thể được thực hiện bằng cách chạy config-defaults.php4

Ngoài ra, tùy chọn 'usepdfexport' trong cấu hình. tệp php cần được đặt vì nó yêu cầu phần mềm bổ sung

Khi phần mềm đã được cài đặt và cho phép xuất PDF trong tệp cấu hình, danh mục đầu tư được xuất dưới dạng PDF bên cạnh HTML và Leap2A

17. 29. usersuniquebyusername. Tên người dùng Mahara nội bộ chiếm ưu thế khi kết nối các phương thức xác thực bên ngoài

config-defaults.php5 hoặc config-defaults.php6

Đây là. Khi được bật, cài đặt này có nghĩa là một người SSO từ ứng dụng nào khác không quan trọng, họ sẽ được cấp cùng một tài khoản trong Mahara vì tên người dùng nội bộ được khớp và tên người dùng từ xa bị bỏ qua

17. 30. kiểu tệp hợp lệ. Hạn chế loại tệp có thể tải lên

config-defaults.php7 [ví dụ]

Bạn có thể hạn chế loại tệp mà chủ tài khoản có thể tải lên nền tảng. Điều này cho phép bạn kiểm soát các tệp mà bạn cho phép và những tệp nào được coi là không an toàn để tải lên

Biến tệp trong PHP là gì?

Biến toàn cục được xác định trước $_FILES là một mảng kết hợp chứa các mục được tải lên qua phương thức HTTP POST . Tải lên một tệp yêu cầu biểu mẫu phương thức HTTP POST với thuộc tính enctype được đặt thành nhiều phần/biểu mẫu dữ liệu. $HTTP_POST_FILES cũng chứa thông tin tương tự, nhưng không phải là siêu toàn cầu và hiện không được dùng nữa.

Mục đích của biến $_ files trong PHP là gì?

$_FILES là biến siêu toàn cục có thể được sử dụng để tải tệp lên . Ở đây chúng ta sẽ thấy một ví dụ trong đó tập lệnh php của chúng ta kiểm tra xem biểu mẫu để tải tệp lên có đang được gửi hay không và tạo một thông báo nếu đúng. mã của các tập tin.

Làm cách nào để in các tệp $ _ trong PHP?

print_r[$_FILES]; echo ""; .

Làm cách nào để lấy giá trị của một tệp trong PHP?

The file_get_contents[] đọc một tệp thành một chuỗi. Hàm này là cách ưa thích để đọc nội dung của tệp thành một chuỗi. Nó sẽ sử dụng các kỹ thuật ánh xạ bộ nhớ, nếu điều này được máy chủ hỗ trợ, để nâng cao hiệu suất.

Chủ Đề