- 1、在dos的cmd模式下執行php 已加載的模塊都不能使用
- 2、怎樣讓PHP在DOS窗口下運行
- 3、請教如何在DOS下執行PHP頁面?
- 4、怎麼在DOS命令下執行php文件
- 5、在dos中執行.php腳本語言為什麼不執行,而是把.php文件的內容打印出來了
這個是因為php的php.ini沒有被正確讀取到,所產生的模塊沒有加載的問題,意思是,你的cli模式的php載入是的是一個php.ini,而你的服務器載入的是另外一個php.ini。或者是你機器上的php的cli版本和服務器使用的php的版本不一致等情況,都有可能導致這種情況。
解決方法如下:
1. 同樓上,使用dl來加載模塊,不過這種方法某些平台不支持,且效果和同服務器上使用php.ini加載的模塊使用起來效果或許會不一致。
2. 在命令行執行php時,使用php –ini命令先行查看php加載的配置文件的地址與服務器上用phpinfo函數查看到的php加載的php.ini文件是否一致。(LZ的這個錯誤多半是這種情況,後續方法是基於這個檢查出文件不一致的)
3. 在命令行執行php時,使用php -c “php.ini文件所在文件夾地址”來運行php文件。
4. 把服務器那個的php.ini拷貝到C:\Windows\目錄下。
5. 在命令行里用命令執行set PHPRC=”php.ini文件所在文件夾地址”來設置php.ini文件所在文件夾的默認地址
3.4.5的方法效果相同
有關php.ini配置文件的加載的其他問題,請LZ參考這篇博客文章
對於LZ提出的新的問題,我有以下疑問和解決方法:
1. 很有可能你的機器上安裝了多個php版本,使用瀏覽器訪問的時候用的php是5.2的,而在命令行里使用的php版本是php 5.3的,這樣就不難解釋提示配置文件部分設置已失效;
2. 你的wamp中,apache的配置httpd.conf裡面通過PHPIniDir設置了PHP模塊的php.ini文件的地址,導致實際上兩種方式加載的還是不同的文件,即使你把php.ini放到了C:\windows\下;
對於這兩種可能情況,最好的解決方法是:
在命令行下php -v查看當前命令行下php版本,寫一個php腳本,調用phpinfo函數,查看下瀏覽器下訪問時php的詳細環境信息,包括php版本,php的ini地址,php加載的模塊等。
如果檢查到命令行下是php5.3,而瀏覽器用的是php5.2,問題可以通過修改PATH環境變量,把PHP5.2的文件夾加到PATH裡面,去掉PHP5.3的。
如果檢查到PHP的ini文件加載錯誤,瀏覽器加載的是apache 配置中 通過 PHPIniDir 配置的ini文件話,把這個ini覆蓋C:\Windows\下的即可。
是說PHP的CLI模式嗎?
如果是話,先將php.exe 加入 環境變量 (不知道什麼是環境變量的請自己搜索其他答案),然後就可以在 Dos 界面直接 運行:
php xxx.php
打開 命令提示符 cmd.exe
進入PHP的安裝目錄,
輸入 php.exe “abc.php”
則將在 DOS 下執行 abc.php
你可以將 abc.php 改成你的文件名, 注意目錄結構
我這裡直接使用 abc.php 是因為 abc.php 與 php.exe 是在同一個目錄下
為了方便, 你也可以把 php 的安裝目錄加到環境變量 PATH 中
(右擊我的電腦-屬性-高級-環境變量, 如果存在 PATH 則在原來的 PATH 中加入你的PHP安裝目錄, 如果不存在則新建一個 PATH)
加入到環境變量後, 你就不用在 cmd 中進入到 php 的安裝目錄就可以
輸入 php.exe “abc.php” (注意, 此時 “abc.php” 必須在你的 cmd 正在的目錄中)
確保你的系統有配置安裝php環境
進入php文件路徑下執行php文件 php xxx.php
因為你沒指定php.exe文件的路徑吧
php.exe文件的路徑 .php文件
這樣才行
原創文章,作者:HUHDR,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/126533.html