Làm thế nào để thay đổi đường dẫn của php ini windows


12

Tôi đã tải xuống php, thêm nó vào đường dẫn của tôi và tôi đang cố gắng kích hoạt openssl

php --ini nói với tôi rằng tập tin cấu hình là c: \ windows không có gì ở đó, tôi không muốn sao chép php vào c / windows.

Làm cách nào để thay đổi điều này để trỏ đến thư mục php của tôi?

Câu trả lời:


10

Bạn không cần phải thực hiện phản ứng với PHP ở bất cứ đâu gần c:\windowsthư mục.

Nếu bạn làm điều đó sẽ chỉ làm phiền bạn khi bạn nâng cấp PHP lên phiên bản mới.

Nếu bạn CD vào thư mục mà PHP được cài đặt và thực hiện, php --ininó sẽ đọc tệp php.ini từ thư mục mà bạn đang ở.

D:\wamp\bin\php\php5.5.12>php --ini
Configuration File (php.ini) Path: C:\Windows
Loaded Configuration File:         D:\wamp\bin\php\php5.5.12\php.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed:      (none)

Tôi nghĩ rằng đó cũng là một ý tưởng tồi để đặt thư mục cài đặt PHP trong windows PATH.

Tất cả những gì bạn cần là một tệp bó nhỏ sẽ thiết lập PATH của bạn trong suốt thời gian của cửa sổ lệnh bạn đang sử dụng và đặt nó vào một trong các thư mục đã có trong cửa sổ PATH.

Vì vậy, giả sử bạn đã cài đặt PHP vào C:\phpđây là tệp bó

phppath.cmd

PATH=%PATH%;C:\php
php --ini
php -v

Và sau đó bạn chỉ cần chạy tệp bó này bất cứ khi nào bạn mở một cửa sổ lệnh và muốn chạy một số mã PHP và môi trường của bạn được cấu hình. Bạn cũng có thể thêm những thứ khác vào tệp bó này khi bạn cần những thứ khác được thêm vào môi trường của mình như Trình soạn thảo, v.v.


Đúng! Điều này làm việc cho tôi. PHP.ini tốt hơn với PHP.exe trong cùng một thư mục để Web và CLI PHP có thể tham chiếu đến cùng PHP.ini.
Scott Chu

@ScottChu Không thực sự, chúng là 2 môi trường khác nhau và trong cuộc sống thực, bạn thường muốn có các cấu hình khác nhau cho cả hai.
RiggsFolly

4

Theo tài liệu:

Tệp cấu hình (php.ini) được đọc khi PHP khởi động. Đối với các phiên bản mô-đun máy chủ của PHP, điều này chỉ xảy ra một lần khi máy chủ web được khởi động. Đối với các phiên bản CGI và CLI, nó xảy ra trên mọi lệnh gọi.

php.ini được tìm kiếm ở những vị trí này (theo thứ tự):

  • Vị trí cụ thể của mô-đun SAPI (chỉ thị PHPIniDir trong Apache 2, tùy chọn dòng lệnh -c trong CGI và CLI, tham số php_ini trong NSAPI, biến môi trường PHP_INI_PATH trong THTTPD)
  • Biến môi trường PHPRC. Trước PHP 5.2.0, điều này đã được kiểm tra sau khóa đăng ký được đề cập dưới đây.
  • Kể từ PHP 5.2.0, vị trí của tệp php.ini có thể được đặt cho các phiên bản PHP khác nhau. Các khóa đăng ký sau đây được kiểm tra theo thứ tự: [HKEY_LOCAL_MACHINE \ SOFTWARE \ PHP \ xyz], [HKEY_LOCAL_MACHINE \ SOFTWARE \ PHP \ xy] và [HKEY_LOCAL_MACHINE \ SOFTWARE \ PHP \ x], trong đó x, y và z có nghĩa là chính, PHP phiên bản nhỏ và phát hành. Nếu có một giá trị cho IniFilePath trong bất kỳ khóa nào trong số này, khóa đầu tiên được tìm thấy sẽ được sử dụng làm vị trí của php.ini (chỉ dành cho Windows).
  • [HKEY_LOCAL_MACHINE \ SOFTWARE \ PHP], giá trị của IniFilePath (chỉ dành cho Windows).
  • Thư mục làm việc hiện tại (trừ CLI).
  • Thư mục của máy chủ web (đối với các mô-đun SAPI) hoặc thư mục của PHP (nếu không trong Windows).
  • Thư mục Windows (C: \ windows hoặc C: \ winnt) (đối với Windows) hoặc tùy chọn thời gian biên dịch đường dẫn --with-config-file-path.

Bạn nên thử PHPRCbiến môi trường hoặc khóa đăng ký [HKEY_LOCAL_MACHINE\SOFTWARE\PHP].


0

Tôi đã thử mọi thứ mà không thành công. đã thay đổi apache httpd.conf, php.ini và một số lần thử khác, luôn dẫn đến Tệp cấu hình được tải - (không có). Cuối cùng, tôi đã sao chép tất cả các tệp từ thư mục php sang thư mục C: \ Program Files (x86) \ Apache Software Foundation \ Apache2.2 \ bin và mọi thứ bắt đầu hoạt động. Hoàn hảo. Thật không may, nó không phải là giải pháp hoàn hảo, nhưng nó đã làm việc.

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.