วิธีการเปลี่ยนเส้นทางของ windows php ini


12

ฉันดาวน์โหลด php เพิ่มไปยังเส้นทางของฉันและฉันพยายามเปิดใช้ openssl

PHP - นี่บอกฉันว่าไฟล์การกำหนดค่าเป็น c: \ windows ซึ่งไม่มีอะไรที่นั่นฉันไม่ต้องการที่จะคัดลอก php ลงใน c / windows

ฉันจะเปลี่ยนสิ่งนี้ให้ชี้ไปที่โฟลเดอร์ php ของฉันได้อย่างไร

คำตอบ:


10

คุณไม่จำเป็นต้องใส่ anthing กับ PHP ที่ใดก็ได้ใกล้กับc:\windowsโฟลเดอร์

หากคุณทำเช่นนั้นจะเป็นการยุ่งเหยิงคุณเมื่อคุณอัพเกรด PHP เป็นเวอร์ชันใหม่เท่านั้น

หากคุณใส่ซีดีไปยังโฟลเดอร์ที่ติดตั้ง PHP เอาไว้และphp --iniจะอ่านไฟล์ php.ini จากโฟลเดอร์ที่คุณอยู่

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)

ฉันคิดว่ามันเป็นความคิดที่ดีที่จะวางโฟลเดอร์การติดตั้ง PHP ใน windows PATH เช่นกัน

สิ่งที่คุณต้องมีคือไฟล์แบตช์ขนาดเล็กที่จะตั้งค่า PATH ในช่วงเวลาของหน้าต่างคำสั่งที่คุณใช้และวางไว้ในหนึ่งในโฟลเดอร์ที่มีอยู่ใน windows PATH

ดังนั้นสมมติว่าคุณติดตั้ง PHP ลงในไฟล์C:\phpนี้คือไฟล์แบตช์

phppath.cmd

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

และจากนั้นคุณเพียงแค่เรียกใช้ไฟล์ชุดนี้ทุกครั้งที่คุณเปิดหน้าต่างคำสั่งและต้องการเรียกใช้โค้ด PHP บางส่วนและสภาพแวดล้อมของคุณจะได้รับการกำหนดค่า คุณยังสามารถเพิ่มสิ่งอื่น ๆ ลงในไฟล์แบทช์นี้เมื่อคุณต้องการสิ่งอื่น ๆ ที่เพิ่มเข้ากับสภาพแวดล้อมของคุณเช่นนักแต่งเพลง ฯลฯ


ใช่ มันใช้งานได้สำหรับฉัน PHP.ini ดีกว่าเมื่อใช้ PHP.exe ในโฟลเดอร์เดียวกันดังนั้นเว็บและ CLI PHP สามารถอ้างถึง PHP.ini เดียวกันได้
Scott Chu

@ScottChu ไม่จริงพวกเขามีสภาพแวดล้อมที่แตกต่างกัน 2 แบบและในชีวิตจริงคุณมักจะต้องการการปรับแต่งที่แตกต่างกันสำหรับทั้งคู่
RiggsFolly

4

ตามเอกสาร:

ไฟล์การกำหนดค่า (php.ini) จะถูกอ่านเมื่อ PHP เริ่มทำงาน สำหรับเวอร์ชันโมดูลเซิร์ฟเวอร์ของ PHP สิ่งนี้จะเกิดขึ้นเพียงครั้งเดียวเมื่อเว็บเซิร์ฟเวอร์เริ่มทำงาน สำหรับเวอร์ชัน CGI และ CLI จะเกิดขึ้นในทุกการเรียกใช้

php.ini ถูกค้นหาในสถานที่เหล่านี้ (ตามลำดับ):

  • ตำแหน่งเฉพาะของโมดูล SAPI (คำสั่ง PHPIniDir ใน Apache 2, -c ตัวเลือกบรรทัดคำสั่งใน CGI และ CLI, พารามิเตอร์ php_ini ใน NSAPI, ตัวแปรสภาพแวดล้อม PHP_INI_PATH ใน THTTPD)
  • ตัวแปรสภาพแวดล้อม PHPRC ก่อน PHP 5.2.0 นี่เป็นการตรวจสอบหลังจากรีจิสตรีคีย์ที่ระบุไว้ด้านล่าง
  • ในฐานะของ PHP 5.2.0 ตำแหน่งของไฟล์ php.ini สามารถตั้งค่าสำหรับ PHP เวอร์ชันต่าง ๆ ตรวจสอบรีจิสตรีคีย์ต่อไปนี้ตามลำดับ: [HKEY_LOCAL_MACHINE \ SOFTWARE \ PHP \ xyz], [HKEY_LOCAL_MACHINE \ SOFTWARE \ PHP \ xy] และ [HKEY_LOCAL_MACHINE \ SOFTWARE \ PHP \ x] โดยที่ x, y และ z หมายถึงตัวหลัก รุ่นรองและรุ่นวางจำหน่าย หากมีค่าสำหรับ IniFilePath ในคีย์เหล่านี้คีย์แรกที่พบจะถูกใช้เป็นที่ตั้งของ php.ini (Windows เท่านั้น)
  • [HKEY_LOCAL_MACHINE \ SOFTWARE \ PHP], ค่าของ IniFilePath (Windows เท่านั้น)
  • ไดเรกทอรีการทำงานปัจจุบัน (ยกเว้น CLI)
  • ไดเร็กทอรีของเว็บเซิร์ฟเวอร์ (สำหรับโมดูล SAPI) หรือไดเร็กทอรีของ PHP (มิฉะนั้นใน Windows)
  • ไดเรกทอรี Windows (C: \ windows หรือ C: \ winnt) (สำหรับ Windows) หรือตัวเลือกเวลาในการคอมไพล์เส้นทางไฟล์

คุณควรพยายามทั้งตัวแปรสภาพแวดล้อมหรือคีย์รีจิสทรีPHPRC[HKEY_LOCAL_MACHINE\SOFTWARE\PHP]


0

ฉันลองทุกอย่างไม่สำเร็จ เปลี่ยน apache httpd.conf, php.ini และความพยายามอื่น ๆ หลายครั้งทำให้มีการโหลดไฟล์การกำหนดค่า - (ไม่มี) ในที่สุดฉันก็คัดลอกไฟล์ทั้งหมดจากไดเรกทอรี php ไปยังไดเรกทอรี C: \ Program Files (x86) \ Apache Software Foundation \ Apache2.2 \ bin และทุกอย่างก็เริ่มทำงาน อย่างสมบูรณ์ น่าเสียดายที่มันไม่ใช่โซลูชันที่สมบูรณ์แบบ แต่ใช้งานได้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.