前段時間重裝了系統,後來說是又要用php,就重新搭建了apache+php+mysql的環境,由於之前搭建過好多次,感覺很easy,很快就搭建完成,然後寫了下面的常用的測試環境的程式碼:
<span>1</span> <?<span>php </span><span>2</span><span>3</span><span>phpinfo</span><span>(); </span><span>4</span><span>5</span> ?>
然後正常輸出,感覺環境沒問題,就沒管了…
最近要用了,運行以前的專案程式碼(使用了CI框架)卻一直顯示空白頁面,得不到任何正確輸出。
囧了……
自己重新寫簡單的php語句都能正常運作,看來環境是沒問題的。
直到,使用了date()函數,才發現了一絲端倪。
Warning: date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() functionals Inset. are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone.了
date.timezone = Asia/Shanghai好吧,php.ini檔案中配置的資訊沒有生效
最先想到的是伺服器讀取的不是這個php.ini設定檔,因為以前遇到過wamp沒有刪除,然後自己重新配置環境,系統內存在不只一個php.ini文件,讀取的是歷史的設定檔。
查找系統文件,只有一個php.ini文件,而且重裝了系統,即便以往有現在也沒了。
再次查看phpinfo();
讀取的確實是我現在配置的php.ini
那麼問題就可能是php.ini檔案有問題沒有被正確解析了。
我試著用php程式碼連接下資料庫,發現找不到相關的函數…
看來php.ini確實有問題。
仔細檢查自己修改過的配置,沒有什麼問題……
再檢查一遍,還是沒有問題……
……
……
然後,到每天散步的點了,決定不散步了,實在不行全都刪了,重新搭建環境,關了電腦,下樓散步,然後打個電話吐槽今天的「幸福」生活……
散步回來之後,不甘心,還是要弄明白,不然睡不著……
然後,不死心的最後一次檢查了php.ini,終於讓我捉到這個bug了
配置擴展所在目錄時,漏寫了半邊引號,導致後面的解析都出現了問題,所以配置時區,存取資料庫都沒能正確進行。
加上上半邊引號,重啟apache服務,OK了,一切又都運作得那麼美好
總結:粗心大意要不得…
以上就介紹了php學習筆記8--半邊引號引發的問題,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。