Articles of PHP

Zabbix前端忽略数据库configuration

我有一个成功的zabbix 3.4服务器运行在一个LXC容器(CentOS7基地)与embedded式数据库为月,我决定将我的服务器上的所有容器数据库合并成一个。 所以我已经倾销了zabbix数据库,将其移动到容器,使其3306端口可用。 从Zabbix容器中,我可以使用命令行成功login到mysql。 服务器后端似乎能够在更新/etc/my.cnf 问题是前端仍然尝试通过本地套接字与mysql联系: Error connecting to database: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) 我已经尝试将/usr/share/zabbix/conf/zabbix.conf.php.example重命名为/usr/share/zabbix/conf/zabbix.conf.php ,并将其中的数据库configuration,但它不会改变任何东西。 我试图grep通过我的数据库凭据整个/usr/share/zabbix目录没有成功。 在哪里存储前端数据库configuration? 还是我做错了什么? configuration: # grep ^DB /etc/zabbix/zabbix_server.conf DBHost=mysql.host #local host name DBName=zabbix DBUser=zabbix DBPassword=******* DBPort=3306 # cat zabbix.conf.php <?php // Zabbix GUI configuration file. global $DB; $DB['TYPE'] = 'MYSQL'; $DB['SERVER'] = 'mysql.host'; […]

Mariadb读取整数作为string

我有一个Ubuntu实例上的本地MySQL环境,以及在Centos 7实例上运行的实时MariaDB环境。 当使用PHP从表中select整数字段时,该值应该作为整数返回,但是,MariaDB将该值作为string返回。 两个环境都使用Laravel Eloquent ORM运行相同的代码实例,并且我已经检查了每个数据库正在将值存储为整数/小整数等。 使用的代码是: \App\Item::where('id','=',1)->first()->key_item; Mysql,Ubuntu: 0 MariaDB,Centos 7: "0" 对我来说,这是一种奇怪的行为,在编程结束时,在评估“if”expression式中的预期整数时会引起错误。 有一些configuration选项,可以强制MariaDB作为整数types返回整数值?

用Nginx和php-fpm来压制PHP错误

尽我所能,我不能禁止从PHP显示错误消息(使用php-fpm)。 相关文件; /etc/php5/fpm/php.ini:display_errors = Off /etc/php5/fpm/pool.d/www.conf:php_flag[display_errors] = off /etc/php5/fpm/pool.d/www.conf:php_admin_flag[display_errors] = off /etc/php5/cli/php.ini:display_errors = Off 当我打电话给phpinfo()输出如下[图片作为链接,因为这是我的第一篇文章,因此没有足够的声誉,把他们内联,对不起! /imgs/4ttGt​​.png /imgs/4LAah.png 上面显示configuration文件path为/etc/php5/fpm ,加载configuration文件为/etc/php5/fpm/php.ini 。 第二个图像显示display_errors和display_startup_errors Off 。 这表明这些设置已被正确设置,但加载一个错误的页面导致错误的页面,例如; 未知 :preg_replace():不推荐使用/ e修饰符,而是使用preg_replace_callback代替行651上的/path/to/file.php ****未知 :preg_replace():/ e修饰符不推荐使用,而是使用preg_replace_callback代替/第651行的path/到/ file.php (格式如上,所以HTML格式正在被应用) 我也尝试设置ini_set("display_errors", 0); 甚至error_reporting(0); 无济于事。 另外,编辑添加; # php5-fpm -i | grep error display_errors => Off => Off display_startup_errors => Off => Off error_append_string => […]

405(不允许)POST请求

在Winginx出现问题之前,一切都奏效了。 当我用POST方法发送数据与Jquery时,我得到405(不允许)错误。 GET工作得很好。 当我从/ formcheck请求数据(这是forcmcheck.php,并自行正常工作),我得到这个错误。 我没有改变Nginx的日志中的任何东西,除了重写引擎的几行。 你可以看到日志: 127.0.0.1 – – [07/Jun/2017:15:14:06 +0300] "POST /formcheck HTTP/1.1" 405 575 "http://music-portfolio.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36" 127.0.0.1 – – [07/Jun/2017:15:16:35 +0300] "POST /formcheck HTTP/1.1" 405 575 "http://music-portfolio.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36" 127.0.0.1 – […]

设置Nginx + PHP来从主目录服务的PHP文件

这里是我的nginx.conf的相关部分,它不适用于位于用户的主目录中的php文件: location ~ ^/~(.+?)(/.*)?$ { alias /usr/home/$1/www$2; autoindex on; } # Serve user directories php files location ~ ^/~(.+?)(/.*\.php)$ { alias /usr/home/$1/www; try_files $2 =404; fastcgi_split_path_info ^(.+\.php)(.*)$; fastcgi_pass unix:/var/run/php-fpm.sock; fastcgi_index index.php; fastcgi_intercept_errors on; include fastcgi_params; fastcgi_param SCRIPT_NAME /~$1$fastcgi_script_name; } location ~ \.php$ { try_files $uri =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $request_filename; […]

PHP主机名不正确

我们有一个应用程序已经运行了大约2年,现在没有任何问题。 今天早上当我进来的网站出现错误: Session: connection failed 我检查了数据库连接,检查了用户,检查了用户的授权,一切都很好。 我使用.inc.xml文件中的连接信息创build了一个testing页面 有一个MySQL连接错误。 这是原始文件: <TYPE>mysql</TYPE> <HOST>dbl</HOST> <USER>dbuser</USER> <PASSWORD key="PUT A KEY HERE TO DECRYPT THE PASSWORD">password</PASSWORD> 服务器的主机名不是dbl 我改变了第二行: <TYPE>mysql</TYPE> <HOST>localhost</HOST> <USER>dbuser</USER> <PASSWORD key="PUT A KEY HERE TO DECRYPT THE PASSWORD">password</PASSWORD> 它连接好。 对原始.inc.xml文件做了相同的更改,应用程序已经备份并运行正常。 我的问题: 我检查了审计日志,连接,查询,系统一直没有访问3周左右。 .inc.xml是一年前最后修改的。 为什么应用程序会突然停止将dbl作为主机? dbl主机名从哪里来的? 系统布局: [root@acpr-web-x ~]# cat /proc/version Linux version 2.6.32-358.2.1.el6.x86_64 ([email protected]) (gcc version 4.4.7 20120313 […]

Web应用程序中的自定义域映射function

我创build了一个应用程序,每个人都可以拥有自己的商店,并在netforcelab.com上托pipe,例如india.netforcelab.com,它的确是一个不是子网域,而是一个编程url。 现在我想添加一个function,客户可以select他们的域名,例如,如果他们selectnaveenmarketing.com然后当我们打开naveenmarketing.com它应该从india.netforcelab.com加载内容 有可能吗? 在我们的最终或客户端需要做什么?

如何用PHP正确返回EC2实例中的公共服务器地址

我是新的AWS …我已经build立了一个EC2实例运行Nginx和PHP 7.1.6我也做了一个页面,返回phpinfo(); 细节,但它返回不是我的弹性IP,但内部IP地址: $_SERVER['SERVER_ADDR'] 172.31.9.228 我的EC2已经正确地关联了一个弹性的IP,同时也试图浏览网站的一切运行平稳。 有没有办法让Nginx返回公有IP而不是私有?

我如何find这个错误循环的301redirect?

我得到redirect循环/无尽的链,我无法弄清楚。 我很新的编程和服务器,所以请帮助一个非常绿色的人! 这是我到目前为止: 的.htaccess <IfModule mod_rewrite.c> <IfModule mod_negotiation.c> Options -MultiViews </IfModule> RewriteEngine On # Handle Front Controller… RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L] </IfModule> 路线 Route::get('/', [ 'as' => 'get.site', 'uses' => 'SiteController@getHome' ]); 调节器 public function getHome() { $this->model['title'] = 'Home Page'; $this->model['description'] = 'Welcome to my home Page'; return […]

在Apache和Vagrant上找不到PHP7上的DOMDocument类

我使用Apache和PHP7在Vagrant上运行一个本地Web应用程序。 我一直在尝试通过多种方式来添加已损坏的依赖关系,到目前为止我还没有办法。 我正在使用scotchbox,到目前为止我还没有find他们的解决scheme。 这是我解决其他问题的一些步骤: sudo apt-get update –fix-missing sudo composer self-update sudo service apache2 restart sudo apt-get install php7.0-soap sudo service apache2 restart composer install 这是我得到的错误: An uncaught Exception was encountered Type: Error Message: Class 'DOMDocument' not found Filename: /var/www/mytestsite.local/public/application/third_party/vendor/symfony/serializer/Encoder/XmlEncoder.php Line Number: 88 Backtrace: File: /var/www/mytestsite.local/public/application/third_party/vendor/symfony/serializer/Encoder/ChainDecoder.php Line: 40 Function: decode File: /var/www/mytestsite.local/public/application/third_party/vendor/symfony/serializer/Serializer.php Line: 269 Function: […]