ทำไมการแบ่งปันทางเว็บถึงใช้งานไม่ได้บน Mac ของฉัน?


2

พื้นหลัง:

ฉันใช้ Mac ของฉันเพื่อการพัฒนาเว็บไซต์โดยใช้สำเนาของเว็บไซต์ในพื้นที่ ฉันเพิ่งติดตั้งอัปเดต Snow Leopard ซึ่งความตั้งใจและวัตถุประสงค์ทั้งหมดดูเหมือนว่าจะหายไปแล้วยกเว้น ...

ไม่ทำงานอะไร

เว็บร่วมกัน; โดยเฉพาะอย่างยิ่งฉันไม่สามารถเปิดใช้งานผ่านการตั้งค่า บานหน้าต่างการตั้งค่าเพียงแฮงค์เมื่อฉันพยายาม

ดังนั้น Apache จึงไม่เริ่มการรีบูต ฉันสามารถเริ่ม Apache ด้วยมือ แต่ฉันไม่รู้พอที่จะติดตั้ง Apache เพื่อเริ่มต้นกับคอมพิวเตอร์หรือแก้ไขการแชร์เว็บอย่างถูกต้อง

รายละเอียดเพิ่มเติม

บันทึกข้อผิดพลาด Apache ของฉันไม่แสดงอะไรเลยเมื่อระบบบูทขึ้น (อย่างที่ฉันคาดไว้)

นี่เป็นข้อความแสดงข้อผิดพลาดเมื่อฉันพยายามเริ่มการแชร์เว็บจากบานหน้าต่างการตั้งค่าการแชร์

28/09/2009 10:58:05 System Preferences[834] setInetDServiceEnabled failed with 1 for org.apache.httpd

นี่คือข้อความที่ให้เมื่อฉันเริ่ม apache จากบรรทัดคำสั่ง

[Mon Sep 28 10:35:53 2009] [warn] Init: Session Cache is not configured [hint: SSLSessionCache]
[Mon Sep 28 10:35:54 2009] [warn] mod_bonjour: Skipping user 'sams' - index file /Users/sams/Sites/index.html has zero length.
[Mon Sep 28 10:35:54 2009] [notice] Digest: generating secret for digest authentication ...
[Mon Sep 28 10:35:54 2009] [notice] Digest: done
[Mon Sep 28 10:35:54 2009] [notice] Apache/2.2.11 (Unix) mod_ssl/2.2.11 OpenSSL/0.9.8k DAV/2 PHP/5.3.0 Phusion_Passenger/2.2.5 configured -- resuming normal operations

โปรดแจ้งให้เราทราบหากคุณต้องการรายละเอียดเพิ่มเติมเกี่ยวกับเรื่องนี้

ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชมอย่างมาก.

UPDATE

ฉันได้เพิ่มคำตอบของฉันเองด้านล่าง - ฉันสามารถแก้ปัญหาได้เนื่องจากถูกชี้ไปในทิศทางที่ถูกต้องโดยความคิดเห็นด้านล่างดังนั้นขอบคุณมาก แต่ฉันยังไม่ชัดเจนว่าเกิดจากปัญหาหรือวิธีการแก้ปัญหาของฉันดังนั้นฉันจึงออกจากคำถามเปิดตอนนี้


ใน Leopard คุณปรับเปลี่ยนไฟล์การตั้งค่าของ Apache หรือไม่? คุณสามารถโพสต์บันทึกข้อผิดพลาดได้หรือไม่?
Chealion

มีข้อความเกี่ยวกับ Apache ในคอนโซลหรือไม่? (เรียกใช้ / แอปพลิเคชั่น / ยูทิลิตี้ / คอนโซล)
Doug Harris

BTW: บันทึกข้อผิดพลาดตามค่าเริ่มต้นใน / private / var / log / apache2 / error_log
Doug Harris

คำตอบ:


2

มันเป็นทั้งสองอย่าง ธงปิดการใช้งาน (ลบออกเมื่อ launchctl load -w /PATH/TO/PLIST ทำงาน - ทำงานอัตโนมัติเมื่อคุณทำเครื่องหมายที่ "การแชร์ผ่านเว็บ" ในบานหน้าต่างการตั้งค่าการแชร์) บอกว่าจะไม่เปิด อย่างไรก็ตามเนื่องจากมีหนึ่งบรรทัดที่อยู่ด้านนอกของ dict จึงปรากฏเป็นไฟล์ที่มีรูปแบบไม่ถูกต้อง ใส่กลับเข้าไปด้วยค่าก่อนหน้าหรือลบทั้งหมดเข้าด้วยกัน (ดูด้านล่าง)

ตัวอย่างการทำงาน (แต่ปิดใช้งาน) .plist จาก Snow Leopard

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Disabled</key>
    <true/>
    <key>Label</key>
    <string>org.apache.httpd</string>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/sbin/httpd</string>
        <string>-D</string>
        <string>FOREGROUND</string>
    </array>
    <key>OnDemand</key>
    <false/>
    <key>SHAuthorizationRight</key>
    <string>system.preferences</string>
</dict>
</plist>

1

โปรดเพิ่มความกระจ่างให้กับคำตอบต่อไปนี้ ฉันไม่ได้เป็นผู้เชี่ยวชาญด้านเทคโนโลยีดังนั้นโซลูชันส่วนใหญ่ของฉันจึงเกี่ยวข้องกับการแฮ็กข้อมูลระหว่างสองไฟล์ :)

หลังจากจากข้อความแสดงข้อผิดพลาดด้านบนฉันตรวจสอบไฟล์ org.apache.httpd.plist ฉันตรวจสอบมันกับไฟล์ plist แล้วก่อนที่ฉันจะติดตั้ง Snow Leopard ไฟล์ต่างกันในประเด็นเหล่านี้:

Snow Leopard config (ไม่ทำงาน)

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Disabled</key>
    <true/>
    <key>Label</key>
    <string>org.apache.httpd</string>
    <key>EnvironmentVariables</key>
   <dict>
     <key>PATH</key>
   </dict>
     <string>/opt/local/bin:/usr/local/mysql/bin</string>
    <key>ProgramArguments</key>
    <array>

การกำหนดค่าก่อนหน้า (ใช้งานได้)

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>EnvironmentVariables</key>
    <dict>
        <key>PATH</key>
        <string>/opt/local/bin:/usr/bin:/bin:/usr/sbin:/sbin</string>
    </dict>
    <key>KeepAlive</key>
    <false/>
    <key>Label</key>
    <string>org.apache.httpd</string>
    <key>OnDemand</key>
    <false/>
    <key>ProgramArguments</key>

ดูเหมือนจะมี 3 ปัญหาที่นี่:

ต่อไปนี้ - ฉันเข้าใจว่าปิดใช้งาน httpd หรือไม่ หรือไฟล์ ไม่แน่ใจทั้งหมด

<key>Disabled</key>
<true/>

บรรทัดถัดไปนี้แตกต่างกันดังนั้นฉันสมมติว่ามันชี้ไปยังตำแหน่งที่ไม่ถูกต้อง

<string>/opt/local/bin:/usr/local/mysql/bin</string>

และบล็อกทั้งหมดนี้ดูเหมือนว่ามีการจัดรูปแบบไม่ถูกต้อง - เช่นองค์ประกอบสตริงควรอยู่ในบล็อก dict

   <dict>
     <key>PATH</key>
   </dict>
     <string>/opt/local/bin:/usr/local/mysql/bin</string>

ดังนั้นอาจเป็นหนึ่งในนั้น ฉันหวังว่าฉันเข้าใจดีขึ้น แต่อย่างน้อยตอนนี้ก็ใช้งานได้

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