假设我有一个php文件,我想为基于控制台的应用程序更改输出的文本颜色...
<?php
$prompt = "What Is Your Name: ";
echo $prompt;
$answer = "You Entered: " . rtrim( fgets( STDIN ));
echo $answer;
?>
Run Code Online (Sandbox Code Playgroud)
我想更改$answer.
是否可以?如果是,我该怎么做?
命令: sudo apt-get install php7.0
输出:
Reading package lists... Done
Building dependency tree
Reading state information... Done
php7.0 is already the newest version (7.0.8-0ubuntu0.16.04.1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] Y
Setting up libapache2-mod-php7.0 (7.0.8-0ubuntu0.16.04.1) ...
Error: The new file /usr/lib/php/7.0/php.ini-production does not exist!
dpkg: error processing package libapache2-mod-php7.0 (--configure): …Run Code Online (Sandbox Code Playgroud) 我有一台本地测试机,全新安装了 Ubuntu Mate 16.10。默认的 PHP 安装是 PHP 7。但是,我需要运行 php 5.6 才能与我开发的服务器保持一致。
我尝试使用本答案以及本答案中的说明删除 PHP 7 并安装 PHP 5.6 。
似乎我可以同时安装 PHP 7 和 5.6,但将 Apache 切换为使用 PHP 5.6,但是在尝试进行此设置后,出现了问题。我可能错了,但看起来 Apache 仍然连接到某些 PHP 7 模块,或者至少 PHP 5.6 安装没有完全成功。无论发生什么,我的网站都在崩溃。
所以,我想我可能会尝试清除 PHP 7,但是,这带走了一些我想保留的模块,例如 phpMyAdmin。如果我尝试通过 apt-get 仅安装 phpMyAdmin,则会安装 PHP 7 模块。
恐怕我的修补使我的系统变得一团糟,所以我想清理一下并重新开始。为此,我想清除 PHP 7,安装 PHP 5.6,并安装 phpMyAdmin。
或者,至少,我需要一个与我开发的服务器完全一样工作的系统,其中安装了 PHP 5.6(换句话说,清除 PHP 7 不是目标,使 PHP 7 不会以任何方式干扰PHP 5.6 是)。我怎样才能做到这一点?
更新:
在遵循评论中的一些建议之后,我有一个正常运行的 PHP 5.6 环境,它允许我的站点在我的本地测试机器上运行,就像它们在服务器上一样。
phpMyAdmin 似乎也已安装,我的意思是我已经通过 apt-get 在命令行上安装了它,并且安装没有错误。但它不起作用。当我加载 phpMyAdmin 时,我只看到一个空白屏幕。
各种网站我已经表明,该解决方案应该是跑sudo apt-get …
我已经从 Ubuntu 软件在Ubuntu 16.04 LTS 中安装了Netbeans 8.1。我想在 Netbeans 中添加php插件,但 php 插件在 Netbeans 的插件部分中不可用。
如何在 Netbeans 8.1 中添加 php 插件?
我有一个 PHP 调度程序脚本,我需要 apache 来按 cron 计划执行。从命令行测试此命令工作正常:
$ ! test -e /var/www/html/maintenance.flag && cd /var/www/html/shell && /bin/php ./scheduler.php --action cron --mode default
Run Code Online (Sandbox Code Playgroud)
当我使用下面显示的命令作为我的 apache 用户测试此脚本或将其添加到 apache cron 时,我收到此错误:无法打开输入文件:./scheduler.php
$ sudo -H -u apache bash -c "! test -e /var/www/html/maintenance.flag && cd /var/www/html/shell && /bin/php ./scheduler.php --action cron --mode default"
Run Code Online (Sandbox Code Playgroud)
请注意,scheduler.php 是一个符号链接,在链接和源文件 ( chmod ug+rwx scheduler.php ./vendor/vendor/package/src/scheduler.php)上带有读/写/执行。
我最初尝试简单地运行php /var/www/html/shell/scheduler.php --action cron --mode default,但是 PHP 脚本引用了同一目录中的文件,这就是为什么我需要 apache/cron 从该目录中执行文件。
编辑
尝试使用脚本文件,但仍然看到相同的错误。
使用以下内容创建了一个 cron.sh:
#!/bin/bash
cd /var/www/html/shell
#For Testing - …Run Code Online (Sandbox Code Playgroud) 通过调整来自这个 askubuntu 线程、这个 HowtoForge 文档和这个 Digital Ocean 教程的说明,我已经设法让 FastCGI 在 Ubuntu 16.04 上与 Apache 2.4 一起工作。
所有这些消息来源都说要创建 /etc/apache2/conf-available/php7.0-fpm.conf并告诉您要放入什么。但是安装后php-fpm,我已经有了那个文件,内容如下:
# Redirect to local php-fpm if mod_php is not available
<IfModule !mod_php7.c>
# Enable http authorization headers
SetEnvIfNoCase ^Authorization$ "(.+)" HTTP_AUTHORIZATION=$1
<FilesMatch ".+\.ph(p[3457]?|t|tml)$">
SetHandler "proxy:unix:/run/php/php7.0-fpm.sock|fcgi://localhost"
</FilesMatch>
<FilesMatch ".+\.phps$">
# Deny access to raw php sources by default
# To re-enable it's recommended to enable access to the files
# only in …Run Code Online (Sandbox Code Playgroud) 当我执行“$laravel new myapp
[RuntimeException]
未安装 Zip PHP 扩展。请安装它并重试。
new [--dev] [--5.2] [--] [<name>]"
But to check if i had installed php i exexcuted this command too
"$ php -v
PHP 7.0.18-0ubuntu0.16.04.1 (cli) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
with Zend OPcache v7.0.18-0ubuntu0.16.04.1, Copyright (c) 1999-2017, by Zend Technologies"
Run Code Online (Sandbox Code Playgroud)
请帮帮我,我需要尽快在我的 Ubuntu 16.04 上开始使用 laravel!
我正在使用 PHP 7.1 运行 Ubuntu 17.04,我正在尝试安装 PHP 开发扩展,但没有找到:
[17:21:43] @Z240:~/workspace/api$ sudo apt install php7.1-dev
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances
Lecture des informations d'état... Fait
E: Impossible de trouver le paquet php7.1-dev
E: Couldn't find any package by glob 'php7.1-dev'
E: Impossible de trouver de paquet correspondant à l'expression rationnelle « php7.1-dev »
Run Code Online (Sandbox Code Playgroud)
以下是已安装的扩展列表:
[17:21:42] @Z240:~/workspace/api$ sudo apt-cache pkgnames | grep php7.1
php7.1-xml
php7.1-mbstring
php7.1-readline
php7.1-zip
php7.1-mysql
php7.1
php7.1-sqlite3
php7.1-opcache
php7.1-json
php7.1-curl
php7.1-ldap
php7.1-bz2
php7.1-cli …Run Code Online (Sandbox Code Playgroud) 我在从 git 构建 PHP 7.3 包时遇到问题。目前我正在使用 Ubuntu 16.04 和 utdatet php 7.0.x。(不可能在我的 VPS 上将 Ubuntu 16.04 升级到 18.04,因为它在启动时崩溃。我只有 Virtuozzo 来调试,我找不到它崩溃的点,所以升级到 18.04 还不是一个选项。)
到目前为止我的步骤:
我已经安装了所有用于构建的程序(git、build Essential、libtool、bison 和 re2c)。
我从 GitHub 克隆了 git:
git clone https://github.com/php/php-src.git
Run Code Online (Sandbox Code Playgroud)
然后我选择了我想要的分支:
git checkout PHP-7.3
Run Code Online (Sandbox Code Playgroud)
然后我跑了:
./buildconf
Run Code Online (Sandbox Code Playgroud)
你下一步怎么做?
我需要以下软件包:
php7.3
libapache2-mod-php7.3
php7.3-mysql
mysql-server
我没有搜索 PPA,因为我想自己做,以便边做边学。
我在 18.10 的系统日志中看到这些消息。我怎样才能解决这个问题?我四处搜索,没有找到任何解决方案。大约发生的两个条目。系统日志中的每个小时是:
snapd[1893]: udevmon.go:184: udev monitor observed remove event for unknown device "/sys/dentry(3271:phpsessionclean.service)"
snapd[1893]: udevmon.go:184: udev monitor observed remove event for unknown device "/sys/proc_inode_cache(3279:phpsessionclean.service)"
Run Code Online (Sandbox Code Playgroud)
输出:
$ dpkg -S phpsessionclean.service
php-common: /lib/systemd/system/phpsessionclean.service
Run Code Online (Sandbox Code Playgroud)
输出:
$ dpkg -S udevmon.go
dpkg-query: no path found matching pattern *udevmon.go*
Run Code Online (Sandbox Code Playgroud)