iT邦幫忙

0

求解-更新虛擬主機後PHP語法都無法執行

  • 分享至 

  • xImage

第一次發問,如有任何違規或不妥的地方還請大家協助告知,我再改進謝謝大家🙏
我是網站新手,我有在VSCode寫一個個人網站練習
先前是把網站存到免費的主機-byethost裡,連線mysql都沒問題,在瀏覽器上也可以正常運行
但是後來發現這個免費虛擬主機似乎改版更新了,原本的帳戶也都不見了,我就在Godaddy購買人生第一個主機及網域
並且把我自己寫的網站利用FTP檔案管理員上傳且也有將mysql檔案備份至Godaddy的phpmyadmin裡
但是打開我的網域(http://www.hello-wendy.com)卻發現PHP語法的部分都無法執行及顯示在瀏覽器上
請問原因是什麼呢? 有沒有辦法可以解決呢TAT

以下是小女子自己猜測的原因:
-轉移主機資料庫連線的問題
我有將共通的資料庫連線抽出獨立建檔:dbo.php
但是我不確定Godaddy的mysql使用者名稱是不是指的是主機cpanel 登入的帳號,
有試著修改連線,但前台網站的PHP依舊無法執行
以下是dbo.php內的程式碼:

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
0
Ivan Cheng
iT邦新手 2 級 ‧ 2023-08-25 21:02:16

建議先使用 phpinfo 確認 PHP 語法是否能夠正常執行,再來排除資料庫的問題。

此外 php.ini 是否有開啟簡寫 short_open_tag = On

opsuuu iT邦新手 5 級 ‧ 2023-08-26 13:14:20 檢舉

謝謝你的建議~ 有的,測試phpinfo後PHP 語法看起來是能正常執行的
http://www.hello-wendy.com/info.php
然後我有根據這個影片的教學:https://youtu.be/_sPgPoPJzr8?si=s49LmIXAUDe4cr7l
在檔案管理員內建立php.ini
並加上short_open_tag = On
但是我寫的PHP語法還是沒有執行出來
可能我只能按照下面大神的建議
把全部的 php code 都拿掉
可以正常顯示之後
再一小段一小段加回去了TAT

若 phpinfo 跑得出來就趕快移除掉喔。

我看您的 phpinfo 的 Configure Command 需要注意的地方

建議可以在 debug 時打開看看
--disable-debug

此外,確認以下 Extension 是否有正常啟用
'--without-mysqli'
'--disable-mbstring'
'--disable-fileinfo'
'--disable-json'
'--disable-pdo'
'--disable-sockets'
'--without-zip'
'--disable-gd'

您可以參考一下這篇文章測試資料庫連線的部分

opsuuu iT邦新手 5 級 ‧ 2023-08-27 20:56:10 檢舉

好的,謝謝您!

0
海綿寶寶
iT邦大神 1 級 ‧ 2023-08-25 22:39:03

可以先檢查首頁以下這列之後寫的是什麼嗎?

<div id="productBox">

因為首頁的html只到這列之後就沒了

看更多先前的回應...收起先前的回應...
opsuuu iT邦新手 5 級 ‧ 2023-08-25 23:18:25 檢舉

我下面寫的東西不知道為什麼都顯示不出來,前台檢查語法確實只有讀到這行就沒有了
但是實際還有以下這些(抱歉當初練習寫的語法很冗長會再修正更新的Q
寫的是這樣:

    </div>
    <div id="tase-product">
      <div class="tase-title">
        <img src="images/product-text/novice.png" alt="">
      </div>
      <div id="taseBox">
        <?php
        while($row=$res2->fetch_array()){
            echo '<div class="productItem">';
            echo '<div class="imgWrap">';
            echo '<div class="hotTag">嚐鮮組</div>';
            echo '<a href="productDetail.php?p_id='.$row['p_id'].'"><img src="images/product/'.$row['p_photo'].'.png" alt=""></a>';
            echo '</div>';
            echo '<h2><a href="productDetail.php?p_id='.$row['p_id'].'">'.$row['p_name'].'</a></h2>';
            echo '<p>NT$'.$row['p_price'].'</p>';
            echo '<div class="add-cart">';
            echo '<button class="add"><a href="addCart.php?p_id='.$row['p_id'].'">加入購物車</a></button>';
            echo '</div>';
            echo '</div>';
        }
        ?>
      </div>
    </div>
    
    
    <div id="recommand">
      <div class="recommand-title">
        <img src="images/product-text/recommand.png" alt="">
      </div>
        <div class="command1">
          <div class="pic">
            <img src="images/recommand/baby.png" alt="">
          </div>
          <div class="name">寶寶</div>
          <div class="subtitle">挑嘴汪汪</div>
          <div class="text"><p>原本連鮮食都會挑嘴的寶寶,自從吃了毛日嘗的寵膳鮮食後再也不挑食了!好吃又健康,讓我再也不用為寶貝的飲食操心了💕</p></div>
        </div>
        <div class="command2">
          <div class="pic">
            <img src="images/recommand/five.png" alt="">
          </div>
          <div class="name">初五</div>
          <div class="subtitle">不愛喝水星汪</div>
          <div class="text"><p>初五是一個很不愛喝水的狗狗,真的很擔心飲水量的問題,好在我發現了毛日嚐的補水湯包,讓初五又願意大口喝水了,現在已經是飲水充足的帥氣寶貝囉~</p></div>
        </div>
        <div class="command3">
          <div class="pic">
            <img src="images/recommand/jonny.png" alt="">
          </div>
          <div class="name">強尼</div>
          <div class="subtitle">牙口不好汪汪</div>
          <div class="text"><p>我家強尼已經13歲了,是高齡的老犬,因為牙口不好的問題很難找到合適硬度的點心,幸好毛日嚐有針對老犬設計點心的軟硬度,讓強尼也能再一次享受點心的美味🥰</p></div>
        </div>
    </div>
    <div id="recommand-pc">
      <div class="pc-body">
        <div class="pc-title">
          <div class="pic"><img src="images/product-text/recommand.png" alt=""></div>
        </div>
        <div class="pc-product-body">
          <div class="command1">
          <div class="pic">
            <img src="images/recommand/baby.png" alt="">
          </div>
          <div class="name">寶寶</div>
          <div class="subtitle">挑嘴汪汪</div>
          <div class="text"><p>原本連鮮食都會挑嘴的寶寶,自從吃了毛日嘗的寵膳鮮食後再也不挑食了!好吃又健康,讓我再也不用為寶貝的飲食操心了💕</p></div>
        </div>
        <div class="command2">
          <div class="pic">
            <img src="images/recommand/five.png" alt="">
          </div>
          <div class="name">初五</div>
          <div class="subtitle">不愛喝水星汪</div>
          <div class="text"><p>初五是一個很不愛喝水的狗狗,真的很擔心飲水量的問題,好在我發現了毛日嚐的補水湯包,讓初五又願意大口喝水了,現在已經是飲水充足的帥氣寶貝囉~</p></div>
        </div>
        <div class="command3">
          <div class="pic">
            <img src="images/recommand/jonny.png" alt="">
          </div>
          <div class="name">強尼</div>
          <div class="subtitle">牙口不好汪汪</div>
          <div class="text"><p>我家強尼已經13歲了,是高齡的老犬,因為牙口不好的問題很難找到合適硬度的點心,幸好毛日嚐有針對老犬設計點心的軟硬度,讓強尼也能再一次享受點心的美味🥰</p></div>
        </div>
        </div>
      </div>
    </div>
    <div id="welfare-banner">
      <a href=""><img src="images/welfare-banner.png" alt=""></a>
    </div>
    <div id="inform">
      <div class="delivery-rule">
        <h2><i class="fa-solid fa-truck"></i></h2>
        <div class="text">
          <P>常溫配送 &nbsp;&nbsp;&nbsp;滿NT$1000免運</P>
          <p>冷凍配送 &nbsp;&nbsp;&nbsp;滿NT$1800免運</p>
        </div>
      </div>
      <div class="contact">
        <h2><i class="fa-regular fa-comment-dots"></i></h2>
        <div class="text">
          <p>聯絡我們</p>
          <p>Line &nbsp;&nbsp;@MaoEat</p>
          <p>有任何問題歡迎聯繫我們</p>
        </div>
      </div>
    </div>
  </main>
  <footer>
    <?php
      include_once('comm/footer.php');
    ?>
  </footer>
  <a id="topBtn" href="#"><i class="fa-solid fa-chevron-up"></i></a>
</div>

我用最笨的方法
就是把全部的 php code 都拿掉
可以正常顯示之後
再一小段一小段加回去

或者只加類似以下這種代碼來確認問題出在那一列

<?php
echo 'ITHelp--001--';
?>
...
<?php
echo 'ITHelp--002--';
?>
opsuuu iT邦新手 5 級 ‧ 2023-08-26 13:31:29 檢舉

請問我把您提供的代碼加至index.php裡面,
網頁前台有成功echo出來,但是我寫的php code始終無法執行出來
這樣原因是不是有可能出在連結資料庫的問題上呢?
看來我真的只能先把所有php code 拿掉了
再重新測試再加回來了QQ

嗯,有可能

0

一般來說,你如果有ROOT權限的話。
可以先去 /var/log 找找錯誤記錄。

直接從那邊看比較快知道實際原因是什麼。
不用在這邊猜半天。

再來是資料庫的部份。如果你使用的是Godaddy的套裝主機。
那有可能你的資料庫並不是在本地。就會造成您使用 localhost 連結時會連接不到。

這您可以直接進去 phpmyadmin 內的首頁中。從右上角的位置找到實際連線
再將其host改用它的域名。
除非你看到的是 localhost或 127.0.0.1 才能使用本地host

如果我沒猜錯,正常套裝主機會給你使用CPANEL主機控制台才對。
在MYSQL管理那邊,理論上也會告訴您要連哪個HOST。

我要發表回答

立即登入回答