如何在 WAMPServer 中从 Windows 命令行运行 PHP
我是php的新手,想从命令行运行php。我已经安装了WAMP并将“系统变量”设置为我的php文件夹(即)。C:\wamp\bin\php\php5.4.3
当我转到->->类型并按回车键时,它说.但是当我写的时候,它什么也没显示出来。Run
CMD
php -a
interactive mode enabled
echo 'Hi';
当我键入并按回车键时,我甚至没有看到像“ php >”这样的东西。php -a
我是php的新手,想从命令行运行php。我已经安装了WAMP并将“系统变量”设置为我的php文件夹(即)。C:\wamp\bin\php\php5.4.3
当我转到->->类型并按回车键时,它说.但是当我写的时候,它什么也没显示出来。Run
CMD
php -a
interactive mode enabled
echo 'Hi';
当我键入并按回车键时,我甚至没有看到像“ php >”这样的东西。php -a
PHP CLI被称为( php for the CommandLine Interface )叫做php.exe它所在的位置(其中x和y是你安装的php的版本号)c:\wamp\bin\php\php5.x.y\php.exe
如果你想创建php scrips从命令行运行,那么它很容易,非常有用。
创建一个像这样的批处理文件,让我们称之为:phppath.cmd
PATH=%PATH%;c:\wamp\bin\php\phpx.y.z
php -v
将 x.y.z
更改为您在 WAMPServer 中安装的 PHP 版本的有效文件夹名称
将其保存到 PATH 上已有的某个文件夹中,以便您可以从任何位置运行它。
现在,从命令窗口中,cd进入源文件夹并运行>phppath。
然后运行
php your_script.php
它应该像梦一样工作。
下面是一个配置 PHP Composer 和 PEAR(如果需要)的示例,它们存在
@echo off
REM **************************************************************
REM * PLACE This file in a folder that is already on your PATH
REM * Or just put it in your C:\Windows folder as that is on the
REM * Search path by default
REM * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
REM * EDIT THE NEXT 3 Parameters to fit your installed WAMPServer
REM **************************************************************
set baseWamp=D:\wamp
set defaultPHPver=7.4.3
set composerInstalled=%baseWamp%\composer
set phpFolder=\bin\php\php
if %1.==. (
set phpver=%baseWamp%%phpFolder%%defaultPHPver%
) else (
set phpver=%baseWamp%%phpFolder%%1
)
PATH=%PATH%;%phpver%
php -v
echo ---------------------------------------------------------------
REM IF PEAR IS INSTALLED IN THIS VERSION OF PHP
IF exist %phpver%\pear (
set PHP_PEAR_SYSCONF_DIR=%baseWamp%%phpFolder%%phpver%
set PHP_PEAR_INSTALL_DIR=%baseWamp%%phpFolder%%phpver%\pear
set PHP_PEAR_DOC_DIR=%baseWamp%%phpFolder%%phpver%\docs
set PHP_PEAR_BIN_DIR=%baseWamp%%phpFolder%%phpver%
set PHP_PEAR_DATA_DIR=%baseWamp%%phpFolder%%phpver%\data
set PHP_PEAR_PHP_BIN=%baseWamp%%phpFolder%%phpver%\php.exe
set PHP_PEAR_TEST_DIR=%baseWamp%%phpFolder%%phpver%\tests
echo PEAR INCLUDED IN THIS CONFIG
echo ---------------------------------------------------------------
) else (
echo PEAR DOES NOT EXIST IN THIS VERSION OF php
echo ---------------------------------------------------------------
)
REM IF A GLOBAL COMPOSER EXISTS ADD THAT TOO
REM **************************************************************
REM * IF A GLOBAL COMPOSER EXISTS ADD THAT TOO
REM *
REM * This assumes that composer is installed in /wamp/composer
REM *
REM **************************************************************
IF EXIST %composerInstalled% (
ECHO COMPOSER INCLUDED IN THIS CONFIG
echo ---------------------------------------------------------------
set COMPOSER_HOME=%baseWamp%\composer
set COMPOSER_CACHE_DIR=%baseWamp%\composer
PATH=%PATH%;%baseWamp%\composer
rem echo TO UPDATE COMPOSER do > composer self-update
echo ---------------------------------------------------------------
) else (
echo ---------------------------------------------------------------
echo COMPOSER IS NOT INSTALLED
echo ---------------------------------------------------------------
)
set baseWamp=
set defaultPHPver=
set composerInstalled=
set phpFolder=
set phpver=
set phpFolder=
像这样调用此命令文件以使用默认版本的 PHP
> phppath
或者获取像这样的特定版本的PHP
> phppath 5.6.30
我记得几年前我偶然发现这个问题的一次,这是因为Windows没有readline,因此没有交互式shell,使用php交互模式而没有readline支持,你可以这样做:
C:\>php -a
Interactive mode enabled
<?php
echo "Hello, world!";
?>
^Z
Hello, world!
进入交互模式后,使用开始 () 和结束 () php 标记键入,并以控件 Z () 结束,这表示文件的结束。<?php
?>
^Z
我还记得我从php的网站用户评论中找到的解决方案:http://www.php.net/manual/en/features.commandline.interactive.php#105729