Bash: /usr/bin/php^M: bad interpreter: No such file or directory
- 3517
- Linux
- 0
- super_dodo
- 2018/07/17
今天在看php cli的时候遇到一个问题,就是,我通过sftp软件连接Linux服务器以后,创建了一个cli.php的文件在/var/www目录下,然后通过Windows中的编辑器notepad++,敲入如下代码:
#!/usr/bin/php <?php echo "hello dodobook"; ?> 然后在Linux的命令行中,直接执行该文件, /var/www/cli.php 显示错误信息如下所示: -bash: ./cli.php: /usr/bin/php^M: bad interpreter: No such file or directory 发现,程序中的第一行是 #!/usr/bin/php 为何此处会多一个^M 。
注:将 PHP 用于外壳脚本。可以在写一个脚本,并在第一行以 #!/usr/bin/php 开头,在其后加上以 PHP 开始和结尾标记符包含的正常的 PHP 代码,然后为该文件设置正确的运行属性(例如:chmod +x test)。该方法可以使得该文件能够像外壳脚本或 PERL 脚本一样被直接执行。
原来: 在Windows中和Linux中,行位换行符的不一致所造成的。 windos 行尾 \r\n linux 行尾 \n ^M 就是 \r,回车符号
解决方法如下:
[root@localhost www]# vim /var/www/cli.php 然后输入 :set ff 或者 :set fileformat 可见其输出为fileformat=dos 利用如下命令修改文件格式 :set ff=unix 或 :set fileformat=unix 然后 :wq 保存退出 然后再执行 /var/www/cli.php 显示如下: hello dodobook 一切正常
不要在最该奋斗的年纪选择安逸-
相关阅读
- 通过Google API客户端访问Google Play帐户报告PHP库
- PHP执行文件的压缩和解压缩方法
- 消息中间件MQ与RabbitMQ面试题
- 如何搭建一个拖垮公司的技术架构?
- Yii2中ElasticSearch的使用示例
热门文章
- 通过Google API客户端访问Google Play帐户报告PHP库
- PHP执行文件的压缩和解压缩方法
- 消息中间件MQ与RabbitMQ面试题
- 如何搭建一个拖垮公司的技术架构?
- Yii2中ElasticSearch的使用示例
最新文章
- 通过Google API客户端访问Google Play帐户报告PHP库
- PHP执行文件的压缩和解压缩方法
- 消息中间件MQ与RabbitMQ面试题
- 如何搭建一个拖垮公司的技术架构?
- Yii2中ElasticSearch的使用示例