标签 PHP 下的文章

No input file specified.

默认的.htaccess里面的规则:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]
“No input file specified.”,是没有得到有效的文件路径造成的。
修改伪静态规则,如下:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?/$1 [L]
有没有发现不同?
其实就是在正则结果“/$1”前面多加了一个“?”号,问题也就随之解决了。

Not Found The requested URL / was not found on this server.

网上很多解决方法,再补充极为罕见的一种情况。
即:phpstudy 某个版本的自己的 bug,点击保存时没有生成对应的配置文件(这 bug,气煞个人)。
修改 phpStudy/Apache/conf/vhosts.conf 文件增加对应配置。

记一次黑客事件

3月13日下午4点,客户商反馈,支付跳转的支付宝二维码不是客户商自己的,用户付给客户商的钱付到了别人的支付宝账户里,然后立刻切断线上支付环境。

阅读全文

PHP - Notice: Undefined index

Undefined index:指代码里存在:“变量还未定义、赋值就使用”的错误,这个不是致命错误,不会让你的php代码运行强行中止,但是有潜在的出问题的危险。
解决:
修改 php.ini 配置文件

error_reporting = E_ALL & ~E_NOTICE

AngularJs 的 $http 发送 POST 请求 , PHP 无法接收的解决方案

ngrApp.config(function ($stateProvider, $urlRouterProvider, $httpProvider){
    // Use x-www-form-urlencoded Content-Type
    $httpProvider.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=utf-8';
    /**
     * The workhorse; converts an object to x-www-form-urlencoded serialization.
     * @param {Object} obj
     * @return {String}
     */
    var param = function(obj) {
        var query = '', name, value, fullSubName, subName, subValue, innerObj, i;
        for(name in obj) {
            value = obj[name];
            if(value instanceof Array) {
                for(i=0; i<value.length; ++i) {
                    subValue = value[i];
                    fullSubName = name + '[' + i + ']';
                    innerObj = {};
                    innerObj[fullSubName] = subValue;
                    query += param(innerObj) + '&';
                }
            }
            else if(value instanceof Object) {
                for(subName in value) {
                    subValue = value[subName];
                    fullSubName = name + '[' + subName + ']';
                    innerObj = {};
                    innerObj[fullSubName] = subValue;
                    query += param(innerObj) + '&';
                }
            }
            else if(value !== undefined && value !== null)
                query += encodeURIComponent(name) + '=' + encodeURIComponent(value) + '&';
        }
        return query.length ? query.substr(0, query.length - 1) : query;
    };
    // Override $http service's default transformRequest
    $httpProvider.defaults.transformRequest = [function(data) {
        return angular.isObject(data) && String(data) !== '[object File]' ? param(data) : data;
    }];
});

参考