CodeIgniter บน EC2 แสดงดัชนีเป็นหน้าว่าง จะแก้ไขอย่างไร?

ฉันคือ AWS ใหม่ ฉันได้สร้างอินสแตนซ์ EC2 Amazon Linux แล้ว ฉันใช้ CodeDeploy เพื่อปรับใช้โดยตรงจาก GitHub

จนถึงตอนนี้ก็ประสบความสำเร็จ ฉันได้ติดตั้ง httpd php56 บนอินสแตนซ์ EC2 Linux แล้ว ปรับใช้โค้ดจาก git สำเร็จ

เฟรมเวิร์ก PHP ที่ฉันใช้คือ CodeIgniter 2

บนเครื่องท้องถิ่น ฉันสามารถเรียกใช้แอปพลิเคชันได้ดี

ใน EC2 index.php ในรูทแสดงเป็นค่าว่าง... ฉันคิดว่า htaccess ล้มเหลวหรือการกำหนดค่าอื่นไม่ถูกต้อง

ฉันได้เพิ่ม info.php ลงในโฟลเดอร์รูทและสามารถดำเนินการได้โดยไม่มีปัญหาใดๆ ดังนั้นมันไม่ใช่ปัญหาของ PHP

นี่คือ httpd.conf

# Further relax access to the default document root:
<Directory "/var/www/html">
    #
    # Possible values for the Options directive are "None", "All",
    # or any combination of:
    #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
    #
    # Note that "MultiViews" must be named *explicitly* --- "Options All"
    # doesn't give it to you.
    #
    # The Options directive is both complicated and important.  Please see
    # http://httpd.apache.org/docs/2.4/mod/core.html#options
    # for more information.
    #
    Options Indexes FollowSymLinks

    #
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be "All", "None", or any combination of the keywords:
    #   Options FileInfo AuthConfig Limit
    #
    AllowOverride All

    #
    # Controls who can get stuff from this server.
    #
    Require all granted
</Directory>

บน localhost ฉันสังเกตเห็น /assets/ return 403 ซึ่งเป็นสิ่งที่ฉันต้องการ อย่างไรก็ตามใน EC2 /assets/ ส่งคืนรายการไดเรกทอรีซึ่งไม่ใช่สิ่งที่ฉันต้องการ

หวังว่านั่นจะช่วยให้มีความคิดเกี่ยวกับสิ่งที่อาจเป็นปัญหา

ไม่แน่ใจว่าจะดูอะไรอีก

ขอบคุณล่วงหน้า,

ริค


person Rick    schedule 13.05.2015    source แหล่งที่มา


คำตอบ (1)


พี่ชาย ฉันคิดว่าสิ่งนี้อาจใช้งานได้เพราะฉันมีปัญหาเดียวกัน แต่ของฉันคือ Ec2 instance ubuntu ที่ฉันติดตั้ง lamp stack และเว็บไซต์อื่นๆ ใช้งานได้ แต่ codeigniter ไม่ทำงานเนื่องจากแสดงหน้าว่าง วิธีแก้ไขที่ฉันพบคือ ก่อนอื่นคุณต้อง ตรวจสอบว่ามีไฟล์ intl.so อยู่ในไดเร็กทอรีส่วนขยายหรือไม่ ถ้าใช่ คุณจะต้องอัปเดตผู้แต่งในไดเร็กทอรีรากของโปรเจ็กต์ ซึ่งจะช่วยแก้ปัญหาได้

รันคำสั่งนี้เพื่อตรวจสอบว่ามีไฟล์ intl.so อยู่หรือไม่

php -r "echo ini_get('extension_dir');"

หรือตรวจสอบใน phpinfo()

รายละเอียดทั้งหมดอยู่ในลิงค์นี้ https://www.dotkernel.com/php-troubleshooting/where-is-the-intl-php-extension-problem-solved/

หลังจากติดตั้งซีดีไฟล์ intl.so ไปยังไดเร็กทอรีรากของโปรเจ็กต์ของคุณและรันคำสั่ง composer update

มันจะแก้ปัญหาได้

person Nadeem    schedule 01.01.2021