2010-04-23 44 views
6

Tôi đã cài đặt php thành công trên máy tính Windows 7 nhưng tôi không thể cho cuộc sống của tôi làm cho nó đọc tệp php.ini.php.ini không được đọc với cài đặt Windows 7

Tôi đã bỏ ghi chú dòng php để sử dụng mysql và khi tôi chạy phpinfo(), nó không bao giờ xuất hiện.

Tôi đã kiểm tra để đảm bảo chỉ có một tệp php.ini trên toàn bộ ổ c: \ của tôi và nó nằm trong thư mục c: \ windows của tôi.

có bất kỳ ai khác chạy vào điều này và biết một giải pháp để có được php để đọc .ini để tôi có thể kích hoạt một số phần mở rộng (mysql vv)?

Trả lời

5

Kiểm tra như sau:

  1. Hãy chắc chắn rằng bạn chỉ có một php.ini tập tin. Thư phải nằm trong cùng một thư mục với tên là php.exe, php-cgi.exephp-win.exe. Bạn nên kiểm tra các thư mục c:\windowsc:\windows\system32 của mình. Nếu bạn tìm thấy php.ini trong đó hoặc bất kỳ nơi nào khác trên PATH ngoài thư mục cài đặt PHP, sau đó xóa chúng.

    Cách tiện dụng để kiểm tra điều này là chạy where php.ini từ dấu nhắc lệnh.

  2. Thêm PHP của bạn cài đặt và phần mở rộng thư mục vào hệ thống PATH: Ví dụ - c:\phpc:\php\ext

  3. Chỉnh sửa tập tin php.ini của bạn và đảm bảo rằng các extension_dir điểm chỉ vào thư mục phần mở rộng: extension_dir=c:\php\ext

Điều này sẽ giúp bạn tiếp tục. Nếu bạn vẫn thấy rằng các tiện ích không được tải thì hãy thêm phần mở rộng với ext/. Ví dụ:

extension=ext/php_mysql.dll

Bạn không cho biết nếu bạn đang sử dụng FastCGI để khởi động PHP.

Nếu bạn chỉ cần lập bản đồ mở rộng .php trực tiếp đến php-cgi.exe hoặc bạn đang sử dụng FastCGI nhưng chưa quy định một thuộc tính monitorChangesTo thì bạn cần phải tiêu diệt bất kỳ php-cgi.exe quy trình để buộc một tái đọc của php.ini sau khi bất kỳ thay đổi (hoặc làm một số IISRESET).

Nếu bạn đang sử dụng FastCGI trên Windows 7 (hoặc IIS 7.5 nói chung) thì bạn có thể kích hoạt tái chế FastCGI bất cứ khi nào php.ini thay đổi tệp bằng cách chỉ định đường dẫn đến tệp php.ini trong thuộc tính monitorChangesTo. Điều này cũng có thể cấu hình thông qua IIS Manager trong ứng dụng FastCGI Settings.

0

Tôi đã gặp lỗi chính xác này. Khi tôi đã thử chạy php -m từ dòng lệnh, nó đã được kéo lên các mô-đun thích hợp, vì vậy tôi biết php.ini đúng đã được nạp.

Tuy nhiên, trên máy chủ web Nó tiếp tục kéo thư mục gốc php của tôi thành extension_dir bất kể tôi đã thay đổi gì.

Tôi đã thực hiện một vài điều và dường như giải quyết vấn đề.

Thứ nhất, tôi đảm bảo rằng đường dẫn mà tiện ích mở rộng của tôi có IIS_USer đọc quyền. Tôi không biết liệu điều này có liên quan gì đến việc này hay không, vì bản thân nó chẳng làm gì cả.

Thứ hai, tôi quay trở lại Trình quản lý IIS, tải lên các Ánh xạ xử lý mà tôi đã sử dụng để thiết lập trình xử lý php ban đầu để sử dụng FastCGI. Tôi không phải thực sự thay đổi bất cứ điều gì, nhưng bằng cách đưa lên hộp thoại, và lưu nó, nó yêu cầu xác nhận. Sau đó, tôi quay trở lại trang phpinfo() của tôi, và nó đã thu thập thông tin phù hợp về extensions_dir.

Tôi hy vọng điều này sẽ giúp một người nào đó xuống đường.

+0

Chỉ cần chạy vào cùng một vấn đề sau khi nâng cấp phiên bản php của tôi và quên tôi đã thay đổi tên thư mục. Vì vậy, hãy đảm bảo rằng đường dẫn đến tệp thực thi là chính xác trên mô-đun FastCGI trong Ánh xạ xử lý – stibay

Các vấn đề liên quan